我正在寻找正确的状态代码以通过 api 发送一般故障。
确切的情况是无法将产品添加到购物车。
失败可能有很多原因,但我想返回一个 http 代码。
哪个最好?
我一直在浏览它们,看不到任何完全符合这里需求的东西。
一些可能的故障情况可能是:
Not enough stock to satisfy
Stock limit reached for that particular product
Product no longer available
我正在寻找正确的状态代码以通过 api 发送一般故障。
确切的情况是无法将产品添加到购物车。
失败可能有很多原因,但我想返回一个 http 代码。
哪个最好?
我一直在浏览它们,看不到任何完全符合这里需求的东西。
一些可能的故障情况可能是:
Not enough stock to satisfy
Stock limit reached for that particular product
Product no longer available
如果是服务器错误,则应为 500。如果是客户端错误,请使用 400。
如果没有看到 URI 以及你用它做什么,很难比这更精确。例如,如果“产品不再可用”是 GET 请求的结果,那么它应该是 404(未找到)。但如果是 POST 请求,则应该是 200 或 202。
对于另外两个,他们可能不是错误的。可能是客户端发送了正确的请求,但库存已被其他人消耗,在这种情况下服务器应该返回 409 (conflict) 。如果从一开始就要求库存过多,那么它应该只是 200/202。
如果您必须只有一个代码,只需使用 400 和 200(见上文)。