使用Accept请求标头来分支JSON vs html

时间:2015-12-31 00:56:39

标签: rest http http-headers http-accept-header

如果服务器应返回资源的html或json,请查看使用http Accept标头进行分支。我在考虑使用:

Accept: application/json

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

Accept: application/vnd.company.app+json

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

1 个答案:

答案 0 :(得分:0)

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

在大多数情况下,在服务器端,您发现自己注册的媒体类型是由您的通用序列化/反序列化库(例如Jackson)提供的,因此实际差异很小这样做 - 如果所提供的文件不能被你所期望的课程解除序列,那么这将是一个例外,它将适当地变成40x的响应代码。

但是,确保您的服务器和客户期望使用相同的语言非常有用。这可以被记录下来,它可以帮助找到问题,或者来自期望“老”的外部客户。 API的版本或与不兼容的客户端 - 服务器组合相关的内部问题。

相关问题