[英]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.