gpt4 book ai didi

http - HTTP 规范是否允许为相似/相同的请求返回不同的内容类型?

转载 作者:可可西里 更新时间:2023-11-01 16:32:09 25 4
gpt4 key购买 nike

根据 HTTP 规范,请求(例如)执行以下操作是否可以:

GET https://www.example.com/api/images/1 -> 200 OK, Content Type "image/png"
GET https://www.example.com/api/images/2 -> 404 NOT FOUND, Content Type "application/json"

我们在 Swagger 中遇到了这个问题,因为您必须在发出请求之前指定响应的 Content-Type,所以我想我会问,根据 HTTP 规范,我们想要做的事情是否可以接受在我们继续深入研究如何使用 Swagger 解决它之前

最佳答案

是的,URL 根据请求的结果返回不同的 HTTP 状态代码是完全可以的。也可以返回不同的媒体类型,例如基于 Accept header (又名 content negotiation )或其他条件。

在 OpenAPI/Swagger 2.0 中,您的示例可以这样描述:

paths:
/something:
get:
produces:
- image/png
- application/json
responses:
'200':
description: A PNG file
schema:
type: file
'404':
description: Not Found
schema:
type: object
# properties:
# ...

OpenAPI 3.0 改进了响应定义并允许您为特定状态代码指定媒体类型:

      responses:
'200':
description: A PNG image
content:
image/png:
schema:
type: string
format: binary
'404':
description: Not found
content:
application/json:
schema:
type: object
# properties:
# ...

关于http - HTTP 规范是否允许为相似/相同的请求返回不同的内容类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45606140/

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