Web services HTTP 406和415错误代码
我正在编写一个只接受json,也只输出json的web服务 因此,如果请求任何其他格式,我需要返回相应的状态代码 看来我有两个选择:Web services HTTP 406和415错误代码,web-services,http,http-headers,Web Services,Http,Http Headers,我正在编写一个只接受json,也只输出json的web服务 因此,如果请求任何其他格式,我需要返回相应的状态代码 看来我有两个选择: 406-不可接受 415-不支持的媒体类型 如果有人能告诉我这两个代码的语义,那就太好了。406是在服务器无法基于接受请求头做出响应时返回的(即他们有一个接受头,表示他们只需要XML) 当在请求中发送的实体(POST或PUT中的内容)具有不受支持的媒体类型(即,它们发送XML)时,服务器返回415 所以。。406当你不能发送他们想要的,415当他们发送你不想要的
如果有人能告诉我这两个代码的语义,那就太好了。406是在服务器无法基于接受请求头做出响应时返回的(即他们有一个接受头,表示他们只需要XML) 当在请求中发送的实体(POST或PUT中的内容)具有不受支持的媒体类型(即,它们发送XML)时,服务器返回415 所以。。406当你不能发送他们想要的,415当他们发送你不想要的
希望有帮助 406用于客户端使用Accept标头请求不受支持的内容类型(在您的情况下,是JSON以外的任何内容)的响应。另一方面,当客户端以不受支持的内容类型发布或放置数据时,使用415 简而言之:如果无法以预期格式输出,请使用406;如果不支持输入格式,请使用415 参见RFC 2616,了解其定义:引用: 406不可接受 由请求标识的资源 只能生成响应 包含内容的实体 不可接受的特性 根据发送的accept标头 在请求中 当客户查询您的服务时,请检查它发送的
Accept*
标题;如果它与应用程序/json
(或通配符,例如*/*
)不匹配,则返回此值。响应应该表明“我们这里只提供JSON”
415不支持的媒体类型
服务器拒绝为服务器提供服务
请求,因为
请求的格式不受支持
由请求的资源为
请求的方法
仅返回415 Unsupported Media Type
应该是“客户端发送了非JSON的内容,无法使用该内容”的最小响应;不确定是否有标题指示“您需要发送JSON”RFC2616帮助您
我会选择415,它非常适合你的描述
编辑:哦。集成电路。“请求实体的格式不受请求资源的支持”。因此,如果您有一个包含内容的请求,而该内容的类型错误,您应该抛出415-response。- 406如果发送了
标题,则无法填写Accept
- 415如果发送了
,则无法使用内容类型