簡體   English   中英

REST api對GET的預期響應

[英]rest api expected response for GET

我正在制作一個REST API,我對一個沒有匹配項的get通常返回什么有疑問。 例如,如果我的資源是“用戶”,而我使用

http方法:GET網址:api.mysite.com/users/123

如果存在“ 123”,我將在響應正文中返回一個包含用戶詳細信息的http代碼200。 我的問題是; 如果沒有ID為123的用戶,我應該返回什么http代碼,應該在響應正文中放入什么?

我應該只返回代碼200和一個空的正文嗎?

使用404 ,因為請求的資源(用戶)不存在。

10.4.5找不到404

服務器未找到與Request-URI匹配的任何內容 沒有跡象表明這種情況是暫時的還是永久的。 如果服務器通過某種內部可配置的機制得知舊資源永久不可用並且沒有轉發地址,則應使用410(已消失)狀態代碼。 如果服務器不希望確切顯示請求被拒絕的原因,或者沒有其他響應可應用時,通常使用此狀態代碼。 RFC 2616

作為它的API,您可以返回任何想要的信息,但是如果您談論HTTP響應的標准,那么我建議您返回404 (NOT FOUND)在這種情況下看起來更合適。 因為您嘗試訪問的資源在該位置不可用。

404-找不到表示服務器未找到與請求URI匹配的任何內容。

使用狀態碼404,您還可以為響應正文或任何其他有意義的標頭提供正確的錯誤消息。 使客戶可以理解它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM