[英]HTTP status code for a REST search without result
我有一个用于搜索的REST端点。
GET /person?firstname=john&name=smith
结果,返回HTTP状态代码为200 OK
的集合:
[
{
"id":11,
"firstname":"John",
"name":"Smith",
"birthday":"1996-03-08"
},
{
"id":18,
"firstname":"John",
"name":"Smith",
"birthday":"1963-07-11"
}
]
空搜索结果的正确HTTP状态代码和有效负载是什么?
HTTP状态200 OK
,集合为空[]
HTTP状态204 No Content
且集合为空[]
HTTP状态204 No Content
为空的204 No Content
IMO第一种情况:
200 OK
,集合为空[]
然后,您不必检查204并使用返回的内容,这是一个空列表。
我建议:
HTTP Status 200 OK with a empty collection []
原因是204表示没有内容可以发回,这与您的通话结果无关。
在您的情况下,有些东西可以退回。 这是一个Json结果,恰好由一个空集合组成。
更新:
根据HTTP协议定义:
10.2.5 204无内容:服务器已完成请求,但不需要返回实体,可能要返回更新的元信息。
和:
204响应必须不包含消息正文,因此始终由标头字段之后的第一个空行终止。
在设计Web应用程序时,这是一个惯例问题。 我要走200英镑,带空的收藏夹。 因为:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.