1. ホーム
  2. http

[解決済み】無効なデータに対するRESTレスポンスコード

2022-03-28 03:55:32

質問

次のような場合、クライアントに渡すべきレスポンスコードは何ですか?

  1. ユーザー登録時に渡されたデータが無効である。
  2. ユーザー名/メールアドレスが既に存在する

403を選択しました。また、以下のようなものもありましたので、使えそうな気がします。

<ブロッククオート

ウィキペディア

412 前提条件の失敗: サーバは、要求者が設定した前提条件のいずれかを満たしていません。 リクエストに

403 以外を使うべきならコードを提案してください。

どのように解決するのですか?

どちらの場合も400がベストな選択です。 もし、さらにエラーを明確にしたい場合は、Reason Phraseを変更するか、エラーを説明するボディを含めることができます。

412 - Precondition failed は、last-modified date と ETags を使用する際の条件付きリクエストに使用されます。

403 - Forbidden は、サーバーがリソースへのアクセスを防止したい場合に使用されます。

他に可能な選択肢は422 - Unprocessable entityだけです。