gpt4 book ai didi

spring - RESTEasy ExceptionMapper 不适用于 Spring Boot

转载 作者:行者123 更新时间:2023-12-02 08:39:39 24 4
gpt4 key购买 nike


我们使用 Spring Boot 进行集成测试,使用 RESTEasy 进行 REST URL。我为 BadRequestException 配置了 ExceptionMapper,因为我为发送错误请求时引发的异常添加了一个测试用例。为了抑制由此引发的 RESTEasy 异常,我添加了一个扩展 RESTEasy 的 ExceptionMapper 的 BadRequestExceptionHandler。我使用的是“@SpringBootApplication”,但添加了“@ComponentScan”,其中 includeFilters 将类型设置为 ANNOTATION,将值设置为 Provider.class。我已将我的处理程序类标记为 @Component,因此 Spring 能够创建 bean( Autowiring 工作),但 RESTEasy 没有选择此处理程序,并且我继续在日志中看到异常。

有人可以指出我做错了什么吗?

@Provider
@Component
public class BadRequestExceptionHandler implements ExceptionMapper<BadRequestException> {
@Override
public Response toResponse(BadRequestException exception) {
return Response.status(Response.Status.BAD_REQUEST)
.entity(exception.getMessage())
.build();
}
}

@SpringBootApplication
@ComponentScan(includeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, value = Provider.class))
public class TestApplication extends SpringBootServletInitializer {
...
}

谢谢,
稻田

最佳答案

我知道这与您的问题没有直接关系,但这实际上可能会解决您的问题。通过使用 RESTEasy 作为 JAX-RS 实现,可以使用以下 RESTEasy Spring Boot 启动器来构建 Spring Boot REST 应用程序:

com.paypal.springboot:resteasy-spring-boot-starter

查看项目网站:https://github.com/paypal/resteasy-spring-boot/

关于spring - RESTEasy ExceptionMapper 不适用于 Spring Boot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28233397/

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