クライアントが判断に使えるエラー本文
{"error": "Invalid input"}のような単純な本文は、人には何が起きたか伝わります。しかし、クライアントのプログラムが、その内容で処理を分岐させるための情報がありません。
application/problem+jsonは、RFC 9457が標準化した、エラー本文の形式です。エラーの種類を示すURIのtype、種類の短い名前のtitle、ステータスコードと同じ値のstatus、今回のエラーの具体的な説明のdetailを持ちます。サーバーは、どのフィールドがなぜ失敗したかを列挙するerrorsも、必要に応じて加えます。
クライアントは、メッセージの文字列を解析する代わりに、typeやerrorsの中身を見て、プログラムで処理を分岐できます。
この課の目標
problem+json形式のエラー本文を書ける。人が読むメッセージだけでなく、クライアントが判断に使えるフィールドを持たせられる。
検証エラーで、どのフィールドが間違っていたかをクライアントに正確に伝え、フォーム上でその項目を示したい。どの本文の形がこれに合う?