【发布时间】:2015-05-27 20:11:52
【问题描述】:
我有一个 dropwizard 应用程序,它注册了一个全局异常处理程序,实现了ExceptionMapper<Throwable>。如果我从资源中抛出任何运行时异常,映射器就会被命中。
但是,在测试中,我将 JSON 发布到缺少杰克逊多态类型的类型鉴别器的资源。 Jersey 返回 400,我可以看到在单步执行代码时抛出了 JsonProcessingException,但全局映射器没有受到影响。
我试图通过检查environment.jersey().getResourceConfig().getSingletons() 集来查看是否注册了任何其他异常映射器并尝试取消注册它们,并且没有注册其他异常映射器。
我还尝试为该异常创建一个特定的处理程序,但没有骰子。即便如此,如果我已经有一个全局处理程序来捕获所有 Throwable,那就有点奇怪了。
有人遇到过吗?
--
编辑:
看起来 dropwizard 异常映射器确实已注册,我需要找出生命周期中何时发生并取消注册
【问题讨论】:
标签: java json jackson jersey-2.0 dropwizard