400 Bad Requestバリデーションエラーのモック
フィールドレベルのバリデーション詳細を含む構造化された400 Bad Requestエラーレスポンスを生成。フォーム送信エラーのUI処理をテスト。
Error Responses
詳細な説明
400 Bad Request — バリデーションエラー
400ステータスコードは、クライアント側の入力エラーによりサーバーがリクエストを処理できないことを示します。このモックはRFC 7807「Problem Details」パターンをJSON APIに適応した構造化バリデーションエラーレスポンスを生成します。
レスポンス構造
{
"error": {
"code": "BAD_REQUEST",
"message": "The request body is invalid or missing required fields.",
"details": [
{
"field": "email",
"message": "Must be a valid email address."
},
{
"field": "name",
"message": "Must be at least 2 characters long."
}
]
}
}
設計原則
- 機械可読コード —
codeフィールドはクライアントがswitch文やエラーマッピングロジックで使用できる安定した識別子を提供します。 - 人間可読メッセージ —
messageフィールドはエンドユーザーへの表示やログ記録に適した一般的な説明を提供します。 - フィールドレベル詳細 —
details配列は各バリデーションエラーを特定のフィールドにマッピングし、インラインフォームバリデーションフィードバックを可能にします。
フロントエンドでの処理
400レスポンスを受信した場合、フロントエンドは:
details配列を解析する- 各エントリを対応するフォームフィールドにマッピングする
- 入力の横にエラーメッセージを表示する
- オプションでトップレベルの
messageをトーストまたはバナーとして表示する
一般的なバリエーション
一部のAPIはdetailsの代わりにerrorsを使用したり、構造を異なるネストにしたりします。重要な原則は一貫性です:1つのフォーマットを選び、すべてのエンドポイントで使用してください。
ユースケース
フロントエンド開発者がフォームバリデーションエラー処理をテストし、フィールドレベルのエラーメッセージが入力の横に正しく表示され、グローバルエラーメッセージが適切に表示されることを確認するために使用できます。