2016-08-19 52 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

回答