0

quarkus を使用して小さな休憩サービスをセットアップし、整数としてパス パラメータを持つエンドポイントを作成しました。整数としてキャストできない数値でエンドポイントを呼び出すことがわかっている場合、InvocationTargetException と NumberformatException が発生します。

エンドポイントの例:

@GET
@Path("/user/{id}")
public Response findById(@PathParam("id") Integer userId) {
    some code ...
}

http://localhost:9898/user/2147483647 を呼び出すと、404 と json 形式の応答が返されます。

しかし、私が呼び出すと: http://localhost:9898/user/2147483648 2147483648 は整数ではないため、InvocationTargetException で中断し、サーバー エラーを返します。

それは期待どおりに壊れますが、適切な応答(不正な要求やフロントエンドに表示できるjsonメッセージなど)を返したかったのですが、ExceptionMapperでこの例外をキャッチする方法が見つかりませんでした.

より良い応答を得る別の方法はありますか。

4

0 に答える 0