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 它以 InvocationTargetException 中断并返回服务器错误,因为 2147483648 不是整数。

它打破了预期,但我想返回一个正确的响应(比如错误的请求以及可以在前端显示的 json 消息),但我没有找到使用 ExceptionMapper 捕获此异常的方法。

是否有另一种方法可以获得更好的响应。

4

0 回答 0