Использование ControllerAdvice из внешнего jar - PullRequest
2 голосов
/ 06 марта 2019

Я пытаюсь создать модуль обработки исключений, который может использоваться несколькими модулями.Поэтому я создаю jar, в котором есть вся логика, связанная с обработкой исключений.Я пытаюсь добавить глобальный совет по контроллеру, который может перехватить исключение и генерировать ответ об ошибке. Проблема в том, что этот совет по контроллеру не вызывается.Он работает нормально, когда я пишу, объявляю этот совет контроллера в отдельных модулях.

Модуль исключений --ExceptionToResponseGenerator MainModule --RestController Это не работает

Модуль исключений

MainModule --RestController --ExceptionToResponseGenerator Это работает

Что я делаю не так?


package com.abc.cde.exceptionhandler.handler;

@ControllerAdvice
@Log
public class ExceptionToResponseGenerator extends ResponseEntityExceptionHandler {

    @Override
    protected ResponseEntity<Object> handleMethodArgumentNotValid(MethodArgumentNotValidException ex, HttpHeaders httpHeaders, HttpStatus httpStatus, WebRequest webRequest) {
        return new ResponseEntity(new ErrorDetails(new Date(), "bad", "bad"), HttpStatus.BAD_REQUEST);
    }

Основной класс

    @Import(IncludeExceptionHandling.class)
   @SpringBootApplication
   public class MainApplication{

    public static void main(String[] args) {
        SpringApplication.run(MainApplication.class, args);
    }


}

-----------
IncludeExceptionHandling

@Configuration
@EnableAspectJAutoProxy
public class IncludeExceptionHandling {

    @Bean
    public ExceptionLoggerPointcut notifyAspect() {
        return new ExceptionLoggerPointcut();
    }
}

ExceptionLoggerPointcut isОбертка исключение и сбросить его

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...