处理Jersey中的JSON解析错误

时间:2012-12-27 16:53:51

标签: java json exception-handling jersey

如何拦截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]

但我想发送自己的回复。

1 个答案:

答案 0 :(得分:0)

我猜你的ExceptionMapper已经注册,它没有被应用到其他包,你正在调用Jersey库代码来解析JSON。

将所有对Jersey的调用包围在Try {} catch()块中进行解析,其中catch应返回错误代码而不进一步处理。

或者,看起来Tomcat可能会在它到达您的应用程序之前抛出错误。可能是配置方式或客户端通信方式有问题?这是明文HTTP吗?