Я пишу приложение Spring Boot. И сейчас я реализую обработку исключений.Обработка исключений Java SpringBoot
У меня возникла следующая проблема.
Моих обработчиков исключений выглядеть следующим образом:
@ControllerAdvice
public class SpecialExceptionHandler {
@ExceptionHandler(MissingServletRequestParameterException.class)
@ResponseStatus(HttpStatus.BAD_REQUEST)
public ResponseObject missingServletErrorHandler(HttpServletRequest req, MissingServletRequestParameterException exception) {
//do something
return responseObject;
}}
И я получил общий обработчик исключений, который выглядит
@ControllerAdvice
public class GeneralExceptionHandler {
@ExceptionHandler(Exception.class)
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
public ResponseObject defaultErrorHandler(HttpServletRequest req, Exception exception) {
// do something
return responseObject;
}}
Но у меня проблема: мое приложение всегда работает в GeneralExceptionHandler вместо специальный обработчик, если я не изменю имя класса GeneralExceptionHandler на имя, которое поступает в алфавитном порядке после специального обработчика исключений (например, измените значение «GeneralExceptionHandler» на «zGeneralExceptionHandler»).
Как решить эту проблему?