2016-08-19 18 views
1

次のシナリオでは、クライアントにとって最も良い応答メッセージは何でしょうか?Rest APIの検証/エラーメッセージベストプラクティス

エンドポイントが/ usersで、クライアントがPUTを作成してユーザーの一部のプロパティを更新できるとします。

クライアントが更新することができるユーザープロパティの一部ですが、その他のものはありません。 たとえば、クライアントはnameと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を使用できます。禁止:リクエストは有効ですが、禁止されています。https://en.wikipedia.org/wiki/List_of_HTTP_status_codes – Idali

+0

こんにちは、@Idali!しかし、メッセージはどうですか? 2つのメッセージはあなたに同じ "情報の効果"を持っていますか? –

+0

registerDateはreadOnlyなので更新できません – Idali

答えて

0

は、サービスAPIのためのベストプラクティスについてかなり良い記事です:あなたの質問についてはhttp://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api

、それは開発者として、あなたの好みについては本当にです。私はちょうど非常によくAPIを文書化することをお勧めします。