我们正在实现基于REST的Web服务,并且对某些用例有一些疑问。
考虑到有一个唯一的帐户,其中包含一些信息(例如,添加到购物车信息中)
应使用哪种HTTP状态代码?
答案 0 :(得分:0)
对于情况1,有两种选择:
200 OK
,返回一个空集合。对于情况2,它实际上是相同的。唯一的潜在差异是,如果您针对情况1返回了404
,则可以选择410 gone
,因为这表明以前有一辆购物车,但现在已经消失了。
无论选择哪种方式,我都建议您针对两种情况采用相同的策略。例如:要么为两个返回2xx代码,要么为两个返回4xx代码。
如果管理员通过发出DELETE
请求删除购物车,则404/410状态代码更为合适。
答案 1 :(得分:0)
请参见This Blog。解释得很好。
博客对204的评论摘要:
因此,对您的问题的答案是在您的情况下使用404。 204是专门的响应代码,您不应该经常返回浏览器来响应GET。
其他响应代码甚至比204和404更不合适。
维基百科的description of the HTTP status codes特别有用。您还可以看到definitions in the HTTP/1.1 RFC2616 document at www.w3.org