假设我在yaml OpenApi定义中有这个定义
definitions:
UserLogin:
description: "User"
type: "object"
properties:
password:
type: "string"
email:
type: "string"
如果在参数规范中我需要定义的特定字段,如何在不定义另一个模型的情况下引用它们?
{{1}}
答案 0 :(得分:1)
在您的问题中,您使用definitions
关键字提示您的问题是OpenAPI v2 aka. Swagger。对于OpenAPI v3,下面提供的定义应在适当的Components Object部分内定义。
为了实现这一目标,您必须将Composition与关键字allOf
一起使用。有一个很好的例子与你的问题here有关。首先,您必须定义一个较小的对象,然后将其包含在较大的定义中,如下所示:
definitions:
UserLogin:
description: User Login
type: object
properties:
password:
type: string
email:
type: string
User:
allOf:
- $ref: '#/definitions/UserLogin'
- description: User
type: object
properties:
firstname:
type: string
lastname:
type: string
username:
type: string
值得注意的是:
allOf
关键字。