Как управлять исключениями, создаваемыми фильтрами Spring?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как управлять исключениями, создаваемыми фильтрами Spring?

Сообщение Anonymous »

Я хочу использовать общий способ управления кодами ошибок 5xx, скажем, конкретно в случае, когда база данных не работает во всем моем приложении Spring. Мне нужен красивый json ошибки вместо трассировки стека.

Для контроллеров у меня есть класс @ControllerAdvice для различных исключений, и он также улавливает случай, когда база данных останавливается в середине запроса. . Но это еще не все. У меня также есть собственный CorsFilter, расширяющий OncePerRequestFilter, и когда я вызываю doFilter, я получаю CannotGetJdbcConnectionException, и он не будет управляться @ControllerAdvice . Я прочитал в Интернете несколько вещей, которые меня еще больше запутали.

Поэтому у меня много вопросов:
  • Нужно ли мне внедрять специальный фильтр? Я нашел ExceptionTranslationFilter, но он обрабатывает только AuthenticationException или AccessDeniedException.
  • Я думал о реализации собственного HandlerExceptionResolver, но это заставило меня усомниться: у меня нет какого-либо специального исключения, которым нужно управлять, должен быть более очевидный способ, чем этот. Я также попытался добавить try/catch и вызвать реализацию HandlerExceptionResolver (должно быть достаточно хорошо, в моем исключении нет ничего особенного), но это ничего не возвращает в ответ, я получаю статус 200 и пустое сообщение. тело.
Есть ли хороший способ справиться с этим? Спасибо

Подробнее здесь: https://stackoverflow.com/questions/345 ... -in-spring
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»