2016-08-19 75 views
1

在以下情況下,對客戶端的最佳響應消息是什麼?Rest API驗證/錯誤消息最佳實踐

想象一下,我有一個名爲/ users的端點,客戶端可以通過PUT來更新用戶的某些屬性。

允許客戶端更新某些用戶屬性,但其他人沒有。 例如,客戶端可以更新名稱和birthDate,但他無法更新代碼和registerDate。

如果客戶端嘗試更新他不被允許的屬性,那麼對客戶端的最佳響應消息是什麼?

RESPONSE 1

400錯誤的請求

{ 
    「err」: 「You can’t update the properites: code and registerDate.」 
} 

RESPONSE 2

400錯誤的請求

{ 
    「err」: 「You can update only the properties: name and birthDate.」 
} 

即,我應該respon是他嘗試更新但他不能的屬性,還是隻迴應他可以更新的屬性?

另外,如何更好地瞭解最佳實踐以正確告知我的API可以返回的錯誤和驗證消息?有一些指導或書籍?

+0

您可以使用403 Forbidden:由於請求有效,但操作是禁止的https://en.wikipedia.org/wiki/List_of_HTTP_status_codes – Idali

+0

嗨,@Idali!但是消息呢? 2條消息對你有相同的「通知效果」? –

+0

registerDate無法更新,因爲它只是一個readOnly – Idali

回答