其他分享
首页 > 其他分享> > RESTEasy ExceptionMapper无法与Spring Boot一起使用

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