我正在编写一个web服务,它只接受json,也只输出json。
因此,如果请求任何其他格式,我需要返回适当的状态代码。
看起来我有两个选择:
如果有人能告诉我这两个代码的语义,那就太好了。
发布于 2010-07-21 05:32:29
当服务器不能基于接受请求标头进行响应时(即它们有一个Accept标头,表明它们只需要XML),它会返回406。
当请求中发送的实体( POST或PUT中的内容)具有不受支持的媒体类型(即,它们发送了XML)时,服务器返回415。
所以..。406当你无法发送他们想要的东西时,415当他们发送你不想要的东西时。
希望这能有所帮助!
发布于 2010-07-21 05:36:03
Accept
标头,则无法填充。Content-Type
,则无法使用。发布于 2010-07-21 05:32:58
引用RFC2616
406不可接受
请求所标识的资源只能根据请求中发送的accept头部生成内容特征不可接受的响应实体。
当客户端查询您的服务时,检查它发送了什么Accept*
头;如果它与application/json
(或通配符,例如*/*
)不匹配,则返回以下内容。响应应该显示“我们这里只提供JSON”。
415不支持的媒体类型
服务器拒绝为该请求提供服务,因为该请求的实体所采用的格式不受所请求方法的请求资源支持。
只返回415 Unsupported Media Type
应该是“客户端发送了非JSON的东西,无法使用它”的最小响应;不确定是否有标头指示“您需要发送JSON”
https://stackoverflow.com/questions/3294483
复制相似问题