我可以直接在 Swagger 2.0 中指定响应吗?
Can I specify the response directly in Swagger 2.0?
我根据以下定义我的回复:
responses:
200:
description: 'An authProvider object'
schema:
type: 'array'
items:
$ref: '#/definitions/AuthProvider'
我可以在响应中直接附加另一个字段或 2 个字段吗?我想添加一些我不想放入 AuthProvider
中的内容
只要用到$ref
,基本上就是在用JSON Reference。根据定义(参见链接的规范),在与引用本身相同的对象中定义的任何内容都将被忽略。因此,无法在 $ref
定义的同时直接添加其他属性。
也就是说,您可以使用组合将两个对象'combine'合二为一。这是使用 allOf
JSON 架构指令完成的。这种定义的一个简单示例如下所示:
allOf:
-
$ref: "..."
-
properties:
property1:
type: "string"
property2:
type: "boolean"
注 1:各种 Swagger 工具目前可能不完全支持合成。
注释 2:与往常一样,通常最好将定义外部化(即使只使用一次)而不是内联定义。
我根据以下定义我的回复:
responses:
200:
description: 'An authProvider object'
schema:
type: 'array'
items:
$ref: '#/definitions/AuthProvider'
我可以在响应中直接附加另一个字段或 2 个字段吗?我想添加一些我不想放入 AuthProvider
只要用到$ref
,基本上就是在用JSON Reference。根据定义(参见链接的规范),在与引用本身相同的对象中定义的任何内容都将被忽略。因此,无法在 $ref
定义的同时直接添加其他属性。
也就是说,您可以使用组合将两个对象'combine'合二为一。这是使用 allOf
JSON 架构指令完成的。这种定义的一个简单示例如下所示:
allOf:
-
$ref: "..."
-
properties:
property1:
type: "string"
property2:
type: "boolean"
注 1:各种 Swagger 工具目前可能不完全支持合成。 注释 2:与往常一样,通常最好将定义外部化(即使只使用一次)而不是内联定义。