2016-01-24 62 views
2

我正在爲調查交付設計一個API。每過一段時間,客戶都會對調查進行調查,並檢查是否有針對該用戶的調查。404是否是當前不存在的資源的正確返回碼?

如果調查存在,我會返回它(200 OK)。

但是,如果目前沒有調查計劃,是否返回404合適?

確實資源不存在,但與此同時,404是「客戶端錯誤」,並且由於沒有發生錯誤而返回它感覺錯誤。答覆的意思是說「目前沒有調查,稍後再檢查」。什麼是適當的響應代碼?

+0

如果訪問不存在的資源(例如違反合同)是*錯誤*,400可能會更好。投票機制感覺很奇怪。 – user2864740

+1

是的,最好返回一個404狀態代碼,並附上一個不錯的頁面,說明「目前沒有調查,稍後再檢查」。 – wogsland

回答

3

而不是「獲得調查」API,如果還沒有可用的調查,則必須表現不一致—或者有多個調查可用—創建「獲取調查列表」API可能會更好,無論此列表是否爲空,只包含一個元素或包含多個元素,都始終成功。

相關問題