0

如果服务器应该返回资源的 html 或 json,则查看使用 httpAccept标头进行分支。我想只使用:

Accept: application/json

但进一步研究和阅读GitHub API,标准似乎是:

Accept: application/vnd.company.app+json

这样做有什么好处?为什么不直接使用application/json公司和应用程序的供应商前缀?

4

1 回答 1

0

主要区别在于 application/json 是一个通用定义。仅仅因为请求文档被格式化为“application/json”并不意味着它仍然可以被您的应用程序使用。

在大多数情况下,在服务器端,您会发现自己将您的媒体类型注册为由您的通用序列化/反序列化库(例如 Jackson)提供,因此它几乎没有什么实际区别 - 如果提供的文档不是可反序列化到您期望的类,然后会有一个异常,它将适当地变成一个 40x 响应代码。

但是,确保您的服务器和您的客户端都希望使用相同的语言是很有用的。这可以被记录下来,它可以帮助定位问题,无论是来自期望 API 的“旧”版本的外部客户端,还是来自与不兼容的客户端-服务器组合相关的内部问题。

于 2015-12-31T01:41:57.143 回答