如果服务器应返回资源的html或json,请查看使用http Accept
标头进行分支。我在考虑使用:
Accept: application/json
但是进一步研究和阅读GitHub API,标准似乎是:
Accept: application/vnd.company.app+json
这样做有什么好处?为什么不使用application/json
而不使用公司和应用程序的供应商前缀?
答案 0 :(得分:0)
主要区别在于application / json是一个通用定义。仅仅因为请求文档被格式化为" application / json"并不意味着它仍然可以被您的应用程序使用。
在大多数情况下,在服务器端,您发现自己注册的媒体类型是由您的通用序列化/反序列化库(例如Jackson)提供的,因此实际差异很小这样做 - 如果所提供的文件不能被你所期望的课程解除序列,那么这将是一个例外,它将适当地变成40x的响应代码。
但是,确保您的服务器和客户期望使用相同的语言非常有用。这可以被记录下来,它可以帮助找到问题,或者来自期望“老”的外部客户。 API的版本或与不兼容的客户端 - 服务器组合相关的内部问题。