我用 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 捕获此异常的方法。
是否有另一种方法可以获得更好的响应。