Rest 使用Accept请求头在JSON和html上进行分支
查看使用httpRest 使用Accept请求头在JSON和html上进行分支,rest,http,http-headers,http-accept-header,Rest,Http,Http Headers,Http Accept Header,查看使用httpAccept头来分支服务器是否应该返回资源的html或json。我正在考虑使用: Accept: application/json 但进一步的研究和阅读,标准似乎是: Accept: application/vnd.company.app+json 这样做的好处是什么?为什么不直接使用application/json而不使用厂商前缀company和app?主要区别在于application/json是一个通用定义。仅仅因为请求文档的格式为“application/json”,
Accept
头来分支服务器是否应该返回资源的html或json。我正在考虑使用:
Accept: application/json
但进一步的研究和阅读,标准似乎是:
Accept: application/vnd.company.app+json
这样做的好处是什么?为什么不直接使用
application/json
而不使用厂商前缀company和app?主要区别在于application/json是一个通用定义。仅仅因为请求文档的格式为“application/json”,并不意味着应用程序仍然可以使用它
在大多数情况下,在服务器端,您会发现自己正在注册由通用序列化/反序列化库(如Jackson)提供的媒体类型,因此,它所起的实际作用很小——如果所提供的文档不可反序列化到您期望的类,那么将出现一个异常,该异常将适时转换为40x响应代码
但是,确保您的服务器和客户端都希望使用相同的语言是很有用的。这可以被记录下来,它可以帮助定位问题,或者来自期望API的“旧”版本的外部客户端,或者来自与不兼容的客户端-服务器组合相关的内部问题