通用故障的HTTP状态代码

时间:2013-06-05 16:23:15

标签: http http-status-codes

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

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

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

哪个最好?

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

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

Not enough stock to satisfy
Stock limit reached for that particular product
Product no longer available

1 个答案:

答案 0 :(得分:16)

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

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

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

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