在Swagger yaml的定义中,是否有一种方法可以避免在HTTP方法中重复



我正在编写一个API规格,我希望为其编写和补丁功能相同。API是否接收看台或补丁请求都没关系。它会做同样的事情。

是否有速记/参考语法可以阻止我复制和粘贴参数和响应等。从我的PUT方法定义到补丁方法定义?

no。

尽管OpenAPI(FKA Swagger(规范2.0在API定义的某些地方支持$ref,但在操作级别不支持它。因此,您需要对PUT和PATCH进行单独的定义。您可以通过$ref ING参数和每个操作中的响应来稍微降低代码重复。

paths:
  /foo:
    # If ALL operations within a path have some common parameters,
    # define these params on the path level instead
    # parameters:
    #  - $ref: '#/parameters/baz'
    put:
      parameters:
        - $ref: '#/parameters/baz'
      responses:
        200:
          $ref: '#/responses/Success'
        default:
          $ref: '#/responses/Error'
    patch:
      parameters:
        - $ref: '#/parameters/baz'
      responses:
        200:
          $ref: '#/responses/Success'
        default:
          $ref: '#/responses/Error'
parameters:
  baz:
    in: query
    name: baz
    type: string
responses:
  Success:
    description: Operation completed successfully
    schema:
      type: object
      ...
  Error:
    description: Error response
    schema:
      type: object
      ...

相关内容

最新更新