[英]The right usage of 412 http status code ? (REST)
我想知道我們的RESTful API是否正確使用了HTTP錯誤代碼412
。
我們有一個URL可以根據請求重新生成一些數據,並且它在服務器端具有一些邏輯以內部檢查是否有什么新內容可以重新生成,它將檢索412
狀態代碼。 如果服務器上有一些更改,它將重新生成數據並檢索200
狀態代碼。
我認為412
不是錯誤的好選擇,因為條件檢查是在服務器端內部進行的。 因此,我認為在兩種情況下都使用狀態碼200
可能是一種更好的方法。 最后,URL將使用JSON進行響應,其中將包含有關生成狀態的數據。
前提條件失敗肯定在所述方案中被濫用。 應該與if
-family標頭嚴格相關地使用,例如: If-Match
或If-None-Match
等。
在這種情況下可用的代碼是:200、204和409。
200-在兩種情況下(生成數據,不生成數據),並且具有有意義的正文-不需要生成數據或消息
200-生成數據時; 204-沒有生成時。
200-生成數據時,409-沒有生成時。
在每種情況下(409除外),您都應包括一條有意義的消息或數據本身。
404在這里不會有用-並非找不到端點的情況。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.