相关疑难解决方法(0)

对于一般不成功的请求(不是错误),适当的HTTP状态代码响应是什么?

我正在创建一个RESTful API,它将处理大量用户交互,包括使用存储的信用卡下订单.

如果订单成功,我将返回200 OK,如果订单请求格式错误或无效,我将返回400 Bad Request.但是,如果在订单的实际处理过程中出现问题,我应该返回什么?

  1. 客户端POSTS为服务器订购用户资源.如果用户不存在,则返回404 Not Found.
  2. 订单格式和信息经过验证.如果无效,则返回400 Bad Request.
  3. 订单已处理完毕.如果订单成功,则会为订单返回201 Created.如果遇到意外错误,则返回500 Server Error.

最后一步是问题 - 如果订单因任何其他原因没有完成,我该返回什么?可能的情况包括:

  • 产品已售罄
  • 达到用户最大订单限制
  • 信用卡交易失败(资金不足等)

这似乎不适合400或500.如果没有更好的代码,我可以将其视为400 - 根据业务规则,请求无效.它似乎不准确.

编辑:还发现了这个相同主题的现有讨论.所有答案似乎都指向使用此类违规的状态代码,并在使用400,409或422扩展之间进行了一些讨论.

rest http http-status-codes

98
推荐指数
5
解决办法
4万
查看次数

标签 统计

http ×1

http-status-codes ×1

rest ×1