【发布时间】:2014-01-21 18:21:14
【问题描述】:
我正在使用 Jersey 开发我的 REST Web 服务。
我正在尝试实现验证,为此我使用了与 JSR-303 Bean Validation Jersey 提供的出色集成。
然后我定义一个 ExceptionMapper 以从发生的错误中输出我想要的内容。问题是有时,异常不会发生在 Bean Validation 的上下文中。
例子:
客户端发送一个无效的浮点值(例如“ABC”)。 Jackson 抛出异常,因为它无法将给定的 JSON 解析为浮点值。这是意料之中的。
我可以为此异常编写一个 ExceptionMapper 并将其输出到客户端。 但是,我想要的是收集所有这些来自不同来源的不同异常,并将它们全部输出。换句话说,我想在同一个响应中输出解析期间发生的错误和来自 Bean Validation 的错误,而不是单独输出。
有什么办法可以继续收集所有的异常,最后全部输出? 我假设会发生的第一个问题是,在 Jackson 正确解析请求之前,Bean Validation 永远不会发生。
【问题讨论】:
标签: java rest jersey bean-validation jersey-2.0