当请求数据正确而响应数据不合适时,哪种http状态代码适合?

时间:2019-08-02 05:32:09

标签: java spring http http-status-codes

我遇到的情况是请求语法和数据正确,并且从数据库接收的数据不是预期的格式-这是响应数据问题的情况-在这种情况下,什么是合适的http状态代码。

应该使用422-无法处理的实体-更多有关请求正文的验证-请提出建议

谢谢

3 个答案:

答案 0 :(得分:1)

服务器内部发生错误,可能是内部服务器错误(500)。 4XX仅用于客户端错误。

答案 1 :(得分:1)

我喜欢这样思考;

  • 客户端(或用户)是否可以自己解决问题,例如更改请求参数或语法? 使用4XX码
  • 如果不与支持服务联系,他能做些什么吗? 使用5XX码

在您的情况下,我仍然会考虑这种情况;

  • 用户使用正确的语法进行请求
  • 数据正确

那么为什么返回的数据不是预期的格式?然后,在将数据写入DB时出现问题,例如缺少验证等,或者存在一些错误。

答案 2 :(得分:0)

4xx客户端错误

  

4xx类状态代码用于客户似乎犯了错误的情况。

因此,4xx代码仅应用于客户端错误,在这种情况下,应使用5xx错误,在这种情况下最好的选择是500

  

服务器遇到意外情况,阻止其满足请求。

您可以查看更多HTTP状态代码here