通用故障的HTTP状态代码

Mar*_*ace 13 http http-status-codes

我正在寻找一个正确的状态代码,通过api发送gneral失败.

确切的情况是无法将产品添加到购物车.

失败可能由于很多原因而发生,但我想返回一个http代码.

哪个最好?

我一直在浏览它们,并且无法在这里看到任何完全符合需求的东西.

一些可能的失败条件可能是:

Not enough stock to satisfy
Stock limit reached for that particular product
Product no longer available
Run Code Online (Sandbox Code Playgroud)

ime*_*l96 16

如果是服务器错误则应为500.如果是客户端错误,请使用400.

没有看到URI以及你用它做什么,很难更精确.例如,如果"产品不再可用"是GET请求的结果,那么它应该是404(未找到).但如果是POST请求,那么它应该是200或202.

对于其他两个,它们可能不是错误.可能是客户端发送了正确的请求但是其他人已经消耗了库存,在这种情况下服务器应该返回409(冲突).如果请求从一开始就是太多库存,那么它应该只是200/202.

如果您只需要一个代码,只需使用400和200(见上文).