Spring Boot 2: два метода @ExceptionHandler для одного и того же типа исключения в разных и не связанных классах - PullRequest
0 голосов
/ 24 октября 2019

У меня есть классы A и B. Оба помечены @RestControllerAdvice. Также у обоих классов есть метод, помеченный @ExceptionHandler(SomeException.class) (обратите внимание, что оба обработчика исключений относятся к одному и тому же типу исключений). Классы A и B не находятся в одной иерархии.

Причина, по которой я это сделал, заключается в том, что у меня нет элемента управления для класса A, как во внешней библиотеке, и мне нужно было переопределить поведение классаA's ExceptionHandler.

Во время отладки я вижу, что оба обработчика исключений регистрируются в Spring Exception Handler Cache, но распознаватель исключений всегда выбирает метод класса B, игнорируя класс A (который поставляется с внешней зависимостью). Это то, что мне было нужно, но:

  1. Я хочу понять, почему выбирается мой пользовательский, и хочу быть уверен, что однажды весна не выберет тот, который поставляется с библиотекой.
  2. Есть ли способ полностью отключить обработчик исключений библиотеки, чтобы он даже не был зарегистрирован в кэше обработчика исключений?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...