gpt4 book ai didi

openapi - 有没有办法在 OpenAPI 3.0 中描述两种不同的响应类型?

转载 作者:行者123 更新时间:2023-12-03 22:16:22 36 4
gpt4 key购买 nike

我想要做的是指定有时对 API 调用的响应可能是 PDF 文档,有时是 JSON。我想以 OpenAPI 3.0 格式执行此操作。对于 PDF,响应将如下所示:

      responses:
'200':
description: An invoice in PDF format.
content:
application/pdf:
schema:
type: string
format: binary

在 JSON 响应的情况下,这将描述响应:

      responses:
'200':
description: A JSON object containing user name and avatar
content:
application/json:
schema:
$ref: "#/components/schemas/Invoice"

OAS3 文档 ( https://swagger.io/docs/specification/describing-responses/ ) 提供了以下示例,说明如何指定几个不同的 JSON 模式之一可以是对特定 API 调用的响应。这几乎就是我想要的,除了描述不同的可能的 JSON 模式之外,我想指定不同的可能的内容类型,如上所述。有没有办法以 OAS3 格式执行此操作?

      responses:
'200':
description: A JSON object containing pet information
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/Cat'
- $ref: '#/components/schemas/Dog'
- $ref: '#/components/schemas/Hamster'

最佳答案

刚刚发现这有效:

responses:
'200':
description: "An invoice."
content:
application/json:
schema:
$ref: "#/components/schemas/Invoice"
application/pdf:
schema:
type: "string"
format: "binary"

请参阅此处的“响应媒体类型”部分: https://swagger.io/docs/specification/describing-responses/

关于openapi - 有没有办法在 OpenAPI 3.0 中描述两种不同的响应类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50397427/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com