Мы используем Spring Boot для тестов интеграции и RESTEasy для URL REST. Я настроил ExceptionMapper для исключения BadRequestException, поскольку я добавил тестовый пример для исключения, которое было отправлено при отправке плохих запросов. Чтобы подавить исключение RESTEasy в результате, я добавил BadRequestExceptionHandler, который расширяет ExceptionMapper RESTEasy. Я использовал «@SpringBootApplication», но добавил «@ComponentScan» с includeFilters, задав тип ANNOTATION и значение для Provider.class. Я пометил класс обработчика как @Component, и поэтому Spring может создать компонент (работа с автоустановкой), но RESTEasy не выбирает этот обработчик, и я продолжаю видеть исключение в журналах.RESTEasy ExceptionMapper не работает с Spring Boot
Может кто-нибудь указать, что я делаю неправильно?
@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 {
...
}
Спасибо,
Пэдди