HTTP是否要求服务器在错误上返回其中一个接受标头媒体类型?例如,我们使用接受标题 application / vnd.foo.bar-v1 + json
执行POST发生错误,结果为 422 。我们是否需要返回 application / vnd.foo.bar-v1 + json ,或者我们可以返回不同的媒体类型,因为发生了错误?我可以返回 application / vnd.foo.errors-v1 + json 吗?
寻找W3 http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html我没有看到彻底的解释。
答案 0 :(得分:0)
来自https://tools.ietf.org/html/rfc7231#section-6.5:
服务器应该发送一个包含错误情况说明的表示
这意味着响应的 body 应包含错误,Content-Type
标识其类型。例如,默认情况下Tomcat返回一个HTML页面,因此Content-Type
已正确设置(我相信text/html
。)
如果您的错误的媒体类型为application/vnd.foo.bar-v1+json
,那么您应将其设置为Content-Type
。