我按照以下方式定义我的回复:
responses:
200:
description: 'An authProvider object'
schema:
type: 'array'
items:
$ref: '#/definitions/AuthProvider'
我可以在响应中直接附加另一个字段或2吗?我想添加一些我不想加入AuthProvider
答案 0 :(得分:6)
每当使用$ref
时,它基本上都使用JSON Reference。根据定义(参见链接规范),将忽略与引用本身在同一对象中定义的任何内容。因此,无法在$ref
定义的同时直接添加其他属性。
那就是说,你可以使用组合将两个对象“合并”为一个。这是使用allOf
JSON Schema指令完成的。这种定义的一个简单示例如下所示:
allOf:
-
$ref: "..."
-
properties:
property1:
type: "string"
property2:
type: "boolean"
注1 :目前各种Swagger工具可能无法完全支持合成。 注2 :与往常一样,通常最好将定义外部化(即使只使用一次),而不是内联定义。