我正在编写一个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
...