我通过SwaggerHub进行了新的OpenAPI设置。是否可以选择全局强制某个特定的Accept标头?
我已经在响应中设置了内容类型。
commitWork
通过curl请求插入不同的Accept标头时,将执行以下操作:
paths:
/test-path:
get:
responses:
'200':
description: OK
content:
application/vnd.company.v1.0.0+json:
这很有意义,因为我们没有对此提供任何答复。
答案 0 :(得分:1)
与具有global consumes
and produces
的OpenAPI / Swagger 2.0不同,OpenAPI 3.0要求在每个操作中分别定义请求和响应媒体类型。无法全局定义Content-Type
或请求或响应。
但是,您可以$ref
常见的响应定义(例如错误响应),以减少重复。
openapi: 3.0.2
...
paths:
/foo:
get:
responses:
'400':
$ref: '#/components/responses/ErrorResponse'
/bar:
get:
responses:
'400':
$ref: '#/components/responses/ErrorResponse'
components:
responses:
ErrorResponse:
description: An error occurred
content:
application/vnd.error+json:
schema:
...