如何用swagger引用响应对象?

Kev*_*vez 9 api swagger

我可以做这个:

parameters:
  avatarSizeParam:
    name: size
    in: query
    description: Size of avatar.
    enum: [32, 64]
    required: false
    type: integer
    format: int32

paths:
  /my/path/avatar:
    get:
      parameters:
        - $ref: '#/parameters/avatarSizeParam'
Run Code Online (Sandbox Code Playgroud)

好.Swagger定义了一个parameters可以定义Parameter Objects重用的键.它还定义了一个responses键,您可以在其中定义Response Objects:

responses:
  notFoundResponse:
    description: Entity not found.
    schema:
      $ref: '#/definitions/schema404'
Run Code Online (Sandbox Code Playgroud)

所以我假设我可以将以前的路径定义扩展到以下内容

paths:
  /my/path/avatar:
    get:
      parameters:
        - $ref: '#/parameters/avatarSizeParam'
      responses:
        - $ref: '#/responses/notFound'
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用.我又回到了规范一个Operations Object,发现parameters可以参考对象,但responses不能.

操作对象定义(部分)

responses如果您不能在那里引用项目,那么允许响应定义对象(在最顶层)的重点是什么?有办法吗?

Nel*_* G. 21

如果你看到这里,你必须将HTTP状态代码定义为一个键,然后正确的语法是:

paths:
  /my/path/avatar:
    get:
      parameters:
        - $ref: '#/parameters/avatarSizeParam'
      responses:
        404:
          $ref: '#/responses/notFound'
Run Code Online (Sandbox Code Playgroud)