Мое приложение зависит от набора внешних перехватчиков Spring, которые выдают исключение, и моя служба возвращает HTTP 500. Я хотел бы перехватить исключение, и если трассировка стека соответствует некоторому тексту, я хотел бы вернуть HTTP 400. вместо. Выдаваемое исключение имеет тип NestedServletException.
Я пробовал реализовать @ControllerAdvice, но, похоже, оно не перехватывает NestedServletException.< /p>
@ControllerAdvice
public class ErrorHandlingController {
@ExceptionHandler(NestedServletException.class)
public ResponseEntity exceptionHandler(NestedServletException e) {
return new ResponseEntity(e.getMessage(), HttpStatus.BAD_REQUEST);
}
}
Есть идеи, как это поймать? Трассировка стека выглядит примерно так:
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is: The requested secret was not found.
| at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)
| at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
| at javax.servlet.http.HttpServlet.service(HttpServlet.java:555)
| at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
| at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
| at com.amazon.core.platform.runtime.FinalRequestFilter.doFilter(FinalRequestFilter.java:72)
| at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
| at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:169)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
| at com.amazon.spring.platform.runtime.RequestPropagatingFilterProxy$RequestPropagatingFilterChainWrapper.doFilter(RequestPropagatingFilterProxy.java:101)
Подробнее здесь: https://stackoverflow.com/questions/785 ... -in-spring
Как перехватить NestedServletException весной? ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1716467730
Anonymous
Мое приложение зависит от набора внешних перехватчиков Spring, которые выдают исключение, и моя служба возвращает HTTP 500. Я хотел бы перехватить исключение, и если трассировка стека соответствует некоторому тексту, я хотел бы вернуть HTTP 400. вместо. Выдаваемое исключение имеет тип NestedServletException.
Я пробовал реализовать @ControllerAdvice, но, похоже, оно не перехватывает NestedServletException.< /p>
@ControllerAdvice
public class ErrorHandlingController {
@ExceptionHandler(NestedServletException.class)
public ResponseEntity exceptionHandler(NestedServletException e) {
return new ResponseEntity(e.getMessage(), HttpStatus.BAD_REQUEST);
}
}
Есть идеи, как это поймать? Трассировка стека выглядит примерно так:
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is: The requested secret was not found.
| at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)
| at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
| at javax.servlet.http.HttpServlet.service(HttpServlet.java:555)
| at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
| at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
| at com.amazon.core.platform.runtime.FinalRequestFilter.doFilter(FinalRequestFilter.java:72)
| at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
| at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:169)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
| at com.amazon.spring.platform.runtime.RequestPropagatingFilterProxy$RequestPropagatingFilterChainWrapper.doFilter(RequestPropagatingFilterProxy.java:101)
Подробнее здесь: [url]https://stackoverflow.com/questions/78523164/how-to-catch-nestedservletexception-in-spring[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия