RESTEasy ExceptionMapper无法与Spring Boot一起使用
作者:互联网
我们将Spring Boot用于集成测试,并将RESTEasy用于REST URL.我为BadRequestException配置了ExceptionMapper,因为我为发送错误请求时抛出的异常添加了一个测试用例.为了抑制由此引发的RESTEasy异常,我添加了BadRequestExceptionHandler来扩展RESTEasy的ExceptionMapper.我使用的是“ @SpringBootApplication”,但添加了“ @ComponentScan”以及includeFilters,将类型设置为ANNOTATION,将值设置为Provider.class.我已经将我的处理程序类标记为@Component,因此Spring能够创建Bean(自动装配工作),但是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 Spring Boot启动器,可以将RESTEasy用作JAX-RS实现来构建Spring Boot REST应用程序:
com.paypal.springboot:resteasy-spring-boot-starter
查看项目网站:https://github.com/paypal/resteasy-spring-boot/
标签:spring-boot,resteasy,spring 来源: https://codeday.me/bug/20191120/2046642.html