如何在 YAML 对象中为几个键设置一个值



据我所知,在YAML的{key:value}对中,没有办法将几个键附加到单个值上。我是Swagger文档(OpenAPI 3.0(的新手,想知道是否有可能以某种方式将我的值组合在一起。例如,我正在扰乱REST API文档,当我想列出一些响应而不每次都重写它时,我有以下内容:

paths:
/users:
post:
//some additional information here
responses:
'500':
//and for example here I want to add not only 201 status code but also others
description: >-
Something went wrong on back end
//however I have to do something like this (writing them all)
'502':
description: >-
Something went wrong on back end
//and so on..

克服这一问题的最佳实践是什么?也许我从一开始就有不好的地方。

您可以使用锚点和别名:

path:
/users:
responses:
'500':
description: &desc1 >-
Something went wrong on back end
'502':
description: *desc1

OpenAPI 3.0支持可以使用的响应范围'1XX'-'5XX',而不是单独列出代码:

responses:
'5XX':
description: Something went wrong on back end

如果你仍然想单独列出响应代码,但它们有相同的descriptionschema,你可以$ref常见的响应定义,如下所示:

responses:
'501':
$ref: '#/components/schemas/BackendErrorResponse'
'502':
$ref: '#/components/schemas/BackendErrorResponse'
components:
responses:
BackendErrorResponse:
description: Something went wrong on back end
content:
application/json:
schema:
...

OpenAPI规范存储库中还有一个增强请求,允许在不同的响应中重用description

最新更新