【问题标题】:What's the right HTTP error code if parsing the request fails如果解析请求失败,正确的 HTTP 错误代码是什么
【发布时间】:2014-08-18 17:56:47
【问题描述】:

如果您创建了一个 Web 服务,它接收处理一些数据,例如 XML/JSON,并且由于数据不正确而导致数据解析失败,您会怎么做?

  • 发送 HTTP 400 错误代码:毕竟是客户端弄乱了数据(XML/JSON
  • 发送 HTTP 500 错误代码:是服务器无法完成其任务

【问题讨论】:

    标签: parsing http http-headers http-error


    【解决方案1】:

    如果请求中的数据格式不正确,那么您需要返回 400 级错误。一般 500 级错误表示服务器出现了与客户端或客户端请求无关的问题。

    【讨论】:

    【解决方案2】:

    422 代码。

    422 无法处理的实体

    422(不可处理实体)状态码表示服务器
    了解请求实体的内容类型(因此 a
    415(不支持的媒体类型)状态码不合适),
    请求实体的语法正确(因此为 400(错误请求)
    状态码不合适)但无法处理包含的 指示。例如,如果 XML
    请求正文包含格式正确(即语法正确),但
    语义错误的 XML 指令

    https://www.rfc-editor.org/rfc/rfc4918#section-11

    【讨论】:

      猜你喜欢
      • 2019-12-22
      • 2018-02-24
      • 2018-04-26
      • 1970-01-01
      • 1970-01-01
      • 2015-04-10
      • 2019-01-19
      • 1970-01-01
      • 2018-07-27
      相关资源
      最近更新 更多