Jersey を使用して JAX-RS (別名、JSR-311) を学習しています。ルート リソースの作成に成功し、パラメーターをいじっています。
@Path("/hello")
public class HelloWorldResource {
@GET
@Produces("text/html")
public String get(
@QueryParam("name") String name,
@QueryParam("birthDate") Date birthDate) {
// Return a greeting with the name and age
}
}
これはうまく機能し、Date(String) コンストラクターによって理解される現在のロケールの任意の形式 (YYYY/mm/dd や mm/dd/YYYY など) を処理します。しかし、無効または理解できない値を指定すると、404 応答が返されます。
例えば:
GET /hello?name=Mark&birthDate=X
404 Not Found
この動作をカスタマイズするにはどうすればよいですか? おそらく別の応答コード (おそらく「400 Bad Request」) ですか? エラーをログに記録するのはどうですか?トラブルシューティングを支援するために、カスタム ヘッダーに問題の説明 (「不正な日付形式」) を追加することはできますか? または、5xx ステータス コードと共に、詳細を含むエラー レスポンス全体を返しますか?