布尔类型资源的HTTP状态码。

6
我在开发一个API时遇到了一个困境。假设我有一个资源路由如下:
/order/:orderId/returnable 这个资源用于检查订单是否可以退货至商店。目前,如果它 可以 退货,则返回状态码200;否则返回404。
我的同事正确地指出,资源并没有消失,我应该对任何响应都使用200,并在响应体中包含结果。
两种方法都有其语义意义,我看不出哪个更好。
我们应该使用什么响应状态码?响应体中是否应该包含内容?
1个回答

5
你的同事是正确的。从规范中(http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5)可以看出,404表示“服务器未找到与请求URI匹配的任何内容”。在你的情况下,服务器已经找到了需要返回的内容。你需要定义API响应中返回实体的语法,并返回HTTP 200。它可以是一个简单的布尔值,或者任何有意义的东西,只要有文档记录即可。
如果给定的“orderId”不存在,则应返回HTTP 404。

谢谢,我想我会选择这个! - Marc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接