如何拦截Jersey REST应用程序中的解析错误?我已经注册了ExceptionMapper<Exception>
,但那些不会被抓住。
它将以下内容返回给客户端
Unexpected character ('y' (code 121)): expected a valid value (number,
String, array, object, 'true', 'false' or 'null')
at [Source: org.apache.catalina.connector.CoyoteInputStream@161d5f3;
line: 1, column: 92]
但我想发送自己的回复。
答案 0 :(得分:0)
我猜你的ExceptionMapper已经注册,它没有被应用到其他包,你正在调用Jersey库代码来解析JSON。
将所有对Jersey的调用包围在Try {} catch()块中进行解析,其中catch应返回错误代码而不进一步处理。
或者,看起来Tomcat可能会在它到达您的应用程序之前抛出错误。可能是配置方式或客户端通信方式有问题?这是明文HTTP吗?