gpt4 book ai didi

exception-handling - 为 WebApplicationException 配置自定义映射器的正确方法是什么?

转载 作者:行者123 更新时间:2023-12-01 11:40:26 25 4
gpt4 key购买 nike

我创建了实现 implements ExceptionMapper<WebApplicationException> 的类并通过 environment.addProvider(new WebApplicationExceptionMapper()); 注册.我的自定义映射器有效,但仅适用于从 WebApplicationException 扩展的一些异常.例如,它不适用于 ConflictException它也不适用于我使用以下构造函数的自定义异常:

public ConflictException(URI location, Object entity) {
super(Response.status(Response.Status.CONFLICT).location(location).entity(entity).build());
}

如果我删除 super(Response.status.... 就可以了.这很奇怪,我无法解释。我不确定是不是JerseyDropwizard行为。

为所有 WebApplicationException 配置映射器的正确方法是什么?和子类?你能解释一下我遇到的问题吗?

最佳答案

可能有点太晚了,但发现这个工作。

for dropwizard 0.8 and above


在 yaml 配置中

server:
registerDefaultExceptionMappers: false

这将禁用 DW 的默认异常映射器,然后添加您自己的异常映射器

// Register the custom ExceptionMapper(s)
environment.jersey().register(new RestErrorsHandler());

来源:github issue

关于exception-handling - 为 WebApplicationException 配置自定义映射器的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21482030/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com