1
我有一個驗證名稱的服務,可用於檢查用戶名是否正確。它看起來是這樣的:驗證請求的HTTP響應
POST http://names.myservice.com/validate
content-type: application/json
{"name": "Abdul Hideo McDodgycharacter¬§(*&^$%£!"}
=> 200 OK
{"errors": "contains invalid characters"}
因此服務點是檢查提出的用戶名的有效性,還檢查我的數據庫,看看是否它已經被佔用。我的問題是:如果有驗證錯誤,應答碼是否應該是400 (Bad Request)
?
如果我正在構建一個用戶API來創建用戶,這就是我在與Abdul在這裏展示時所要做的,但我不是。在這種情況下,請求用於驗證,輸入數據是可接受的,並且響應包含請求的表示,這是所提供數據的錯誤列表,因此200 OK
感覺正確。 A 400
將表明我的驗證請求格式錯誤,並且無法識別要驗證的數據。
我意識到這不是非常RESTful,因爲「驗證」基本上是一個動詞,所以如果有另一種方法來解決我的查詢,請建議!
如果驗證失敗會怎麼樣?我建議'200'也是適當的,因爲驗證請求是成功的。 – Conan 2014-09-05 17:32:36
對不起,我的意思是「執行驗證的請求已成功執行,無論輸出如何」。 – 2014-09-05 17:45:37