2016-02-15 131 views
0

我在Django Rest Framework中編寫了一個API。HTTP狀態碼。什麼是空參數的最佳狀態碼?

我有一個密碼重置端點,它接受一個'email'參數。 如果標題中有一個關鍵的「電子郵件」,但該值是空字符串,該怎麼辦?

key: 'email'  
value: '' 

我應該返回哪個狀態碼? 400,或者204?

編輯:我忘了提及,這不應該是驗證失敗。此端點不需要授權。這僅用於發送密碼重置電子郵件。

+0

「400錯誤請求」應該最適合,但是在什麼特定情況下沒有實際使用的標準定義,所以答案基於觀點。 – DanFromGermany

+0

可能的重複[什麼是由REST API服務返回驗證失敗的適當的HTTP狀態代碼?](http://stackoverflow.com/questions/1959947/whats-an-closed-http-status-code-to - 返回逐一個靜止-API服務換一個-val)的 – DanFromGermany

回答

2

HTTP狀態只是標準,您可以調整它們以適合您。 204沒有返回響應主體時通常不會使用內容,因此您希望能夠通過「無需提供任何錯誤集合提供的電子郵件」來響應服務器。在DRF中,DELETE請求成功後,在服務器上刪除實體時返回204(默認情況下),因此沒有剩餘內容。

在你的情況下,我會去400. http://www.restapitutorial.com/httpstatuscodes.html特別提到「缺失數據」作爲錯誤400請求錯誤使用的示例,這可能正是你的情況。