用于返回服务器可用内容类型的HTTP标头

问题描述 投票:0回答:1

例如假设我们有一个宁静的API端点可以返回订单,可以以不同的格式输出。

[GET] /orders/42 

可能返回xml,json或pdf。

我认为,在一个宁静的范例中,最好的选择可能是在相对的OPTION调用中返回可用类型作为标头:

[OPTION] /tests

但是我不知道是否存在诸如内容协商服务器标头之类的列表可用内容类型。

我想它应该看起来像:

Available-Content-Types: application/xml,application/json,application/pdf

是否存在类似的东西?

rest http content-negotiation
1个回答
1
投票

Content Negotiation反过来工作。

客户端请求资源(通常使用GET),并包括Accept标头和可接受的Content-Type列表(使用质量值描述偏好顺序)。

然后服务器根据该消息确定发送哪个响应。

所以客户可能会发送:

Accept: application/json;q=1, application/xml;q=0.9, application/pdf;0.5, */*;q-0.1

然后服务器将确定要返回的数据类型。假设所有格式在服务器看来都一样好,它将返回JSON,因为它具有来自客户端的最高质量值。

© www.soinside.com 2019 - 2024. All rights reserved.