请求中未接受的Content-Type的HTTP状态代码

Jor*_*dan 43 rest http http-status-codes mime-types http-request

对于某些资源,我的REST风格的服务器只接受PUTPOST使用JSON对象请求作为内容主体,因此需要Content-Typeapplication/json,而不是application/x-www-form-urlencodedmultipart/form-data或其他任何东西.

格式错误的JSON(或缺少JSON)返回a,400其中包含直接从JSON解析器引发的异常中获取的错误消息,以进行调试.

哪个HTTP错误代码意味着客户端发送了一个不可接受的请求Content-Type,即使服务器可以在技术上解析请求内容?

Wil*_*and 61

它可以415 Unsupported Media Type根据这个清单:http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.16.

  • `415 Unsupported Media Type`表示客户端*以服务器不支持的格式提供*数据(由请求的`Content-Type`标头指示).例如,尝试执行`POST`请求​​以使用格式为`application/xml`的资源创建类型`User`的记录,但服务器无法处理该资源类型的XML请求."406 Not Acceptable"表示传入请求需要服务器无法提供的特定格式(如"Accept"标题所示)的响应数据(例如,当服务器仅提供JSON时,希望记录为XML) ). (17认同)
  • 另请参阅/sf/ask/230613841/,其中最受欢迎的答案与此答案相矛盾. (3认同)
  • 415是正确的,但您不应使用RFC 2616;RFC 7231已废弃它。 (2认同)