我有一個post對象添加到數據庫。但是如果沒有增加什麼我應該回報?我需要在ajax請求中處理它。什麼HTTP代碼我shuld返回,如果沒有添加到數據庫在後期的方法?
回答
狀態500(服務器錯誤)對我最有意義。
- 200成功
- 300 rediret
- 400客戶端錯誤(我)
- 500服務器錯誤(你)
您還沒有添加我張貼到你的對象,成數據庫,所以你返回500.這樣我可以捕捉到錯誤。
編輯解釋狀態碼好一點:
- ,除非有一個與職位的成功不要返回200。你永遠不想回復200消息「沒有工作」
- 如果我發送給你一個錯誤的對象/信息,以保存你應該發送400
- 如果你的一端的連接丟失或有問題插入聲明500可能最適合。
此外:您可以隨時通過狀態碼發送詳細消息。但取決於使用此服務的用戶,請小心不要暴露/發送類似sql錯誤的信息。
500:_遇到一個**意外情況**時發出的一般性錯誤消息,**沒有更具體的**消息適用._我不這麼認爲 –
沒有任何東西阻止您發送500信息。當出現問題時實際返回錯誤要好得多,這樣我就可以抓住而不是取得「沒有工作」的成功 此外,海報給出了丟失連接的示例,這是一個503. – Bergur
是,_But如果OP沒有任何內容,我應該返回 - 這不一定意味着發生了內部錯誤 –
你應該使用狀態代碼(204 ==>無內容)
僅限於有意不添加任何數據而不是由於錯誤。此外,204意味着什麼都沒有返回給客戶端,並不一定意味着什麼都沒有被添加到數據庫。 – fiskeben
你不需要在JS中識別這個特殊情況嗎?你可以設置你想要的響應頭,你應該解釋更多你的問題 –
如果原因是某種形式的客戶端錯誤的數據,你應該在400範圍內使用狀態,最有可能的422. 如果原因是由於後端出現了一些錯誤,您應該使用500範圍內的一個。有許多不同的狀態代碼可供使用。您應該閱讀它們並使用適用於您的方案的方法。
根據什麼是你的使用情況,您可以:
新對象違反條件 - 無論是它已經存在(唯一約束)或其他一些驗證
- >然後用一些返回422 Unprocessable Entity
旁邊錯誤信息在正文中。
你是做服務器端重複數據刪除 - 要優雅地發送新的對象,而不是關心在客戶端重複
- >要麼假裝一切正常,即201 Created
並返回原來的現有對象爲響應。或與201 Created
各州之間存在明顯的新記錄對象,並303 See other
與原記錄爲URL或只是204 No content
有保存該預計將被記錄
東西時在服務器端意外的錯誤 - >500 Server Error
- 1. 無法如果我打開我的數據庫沒有什麼添加到它插入到SQL Server數據庫
- 2. 我的php代碼沒有添加到我的數據庫
- 3. 在ListAPIView中返回什麼http代碼?
- 4. 如果HTTP CODE的curl getinfo沒有返回代碼?
- 5. 我沒有「添加」我的數據庫方法
- 6. 爲什麼此代碼返回沒有ViewName的視圖結果?
- 7. 如果沒有明確的「返回」,函數將返回什麼
- 8. 我無法將IP添加到我的數據庫。爲什麼?
- 9. 爲什麼添加元素後,我的數組-count方法返回零?
- 10. 如果數據庫中沒有記錄,SQLiteDatabase.query(...)會返回什麼結果?
- 11. 這個HTTP代碼爲什麼不返回任何數據?
- 12. 爲什麼我的MultiSelectList沒有將數據返回到模型?
- 13. 爲什麼在我的代碼之後沒有在地圖上添加註釋?
- 14. 我應該爲純驗證API方法返回什麼Http響應代碼?
- 15. 什麼是由意向返回的結果代碼或數據
- 16. 將現有方法添加到WCF服務但沒有返回數據
- 17. 爲什麼我的Javascript代碼生效,但沒有返回結果?
- 18. 如果沒有數據可用,返回什麼JSON?
- 19. 爲什麼插入到沒有http://的數據庫中,但沒有插入http://
- 20. 我的代碼不登記數據添加到數據庫中
- 21. 我的數據庫沒有被更新,我的代碼有什麼問題?
- 22. 爲什麼我的數據庫在添加新列後崩潰?
- 23. 創建數據庫和加入代碼不會返回結果
- 24. 有沒有什麼辦法,如果數據庫表與Laravel
- 25. 添加遷移後,爲什麼我的新類沒有使用實體框架添加到數據庫模式?
- 26. 添加記錄到數據庫(如果還沒有的話)
- 27. 無法將數據添加到數據庫MVC 5代碼第一種方法
- 28. 如果某些條件沒有得到滿足,從方法返回什麼?
- 29. 如果我的授權令牌到期,Box會返回什麼?
- 30. SqlCommand返回1,但數據庫沒有得到更新..我做錯了什麼?
爲什麼不添加任何內容? – Ryan
以下是狀態碼的完整列表https://en.wikipedia.org/wiki/List_of_HTTP_status_codes –
@Ryan,我不知道。可能會失去聯繫或某事。 –