422エラー(post 422 Unprocessable Content)の原因と対処法

422エラー(post 422 Unprocessable Content)の原因と対処法

開発時、422エラーが発生した際の対処法についてです。

原因と対処法

私が遭遇したケースでは、バリデーションのミスが原因でした。

バリデーションを正しく修正することで、エラーが発生しなくなりました。

422エラーとは

HTTPステータスコード422(Unprocessable Entity)は、サーバーがリクエストを理解したものの、リクエストの内容に問題があり、処理できない場合に返されます。

バリデーションエラー時などに発生することが多いです。

たとえば、以下のようなリクエストが422エラーを返すことがあります。

{
  "username": "",
  "email": "invalid-email",
  "age": "twenty"
}

この場合、usernameが空、emailの形式が無効、ageが数値でないため、422エラーが発生することになります。