我可以直接在Swagger 2.0中指定响应吗?

Sha*_*oon 1 swagger swagger-ui

我按照以下方式定义我的回复:

responses:
  200:
    description: 'An authProvider object'
    schema:
      type: 'array'
      items:
        $ref: '#/definitions/AuthProvider'
Run Code Online (Sandbox Code Playgroud)

我可以在响应中直接附加另一个字段或2吗?我想补充一些我不想加入的内容AuthProvider

Ron*_*Ron 6

无论何时$ref使用,它基本上都使用JSON Reference.根据定义(参见链接规范),将忽略与引用本身在同一对象中定义的任何内容.因此,不可能在$ref定义的同时直接添加其他属性.

也就是说,您可以使用合成将两个对象"合并"为一个.这是使用allOfJSON Schema指令完成的.这种定义的一个简单示例如下所示:

  allOf: 
    - 
      $ref: "..."
    - 
      properties: 
        property1: 
          type: "string"
        property2: 
          type: "boolean"
Run Code Online (Sandbox Code Playgroud)

注1:目前各种Swagger工具可能无法完全支持合成. 注2:与往常一样,通常最好将定义外部化(即使只使用一次),而不是内联定义.