Spring ControllerAdvice не вызывается для исключений

Хотя я определил ControllerAdvice для обработки исключений, я не вижу, чтобы это вызывалось. Вот мой код, подскажите пожалуйста

public class RestError {   
    private String code;
    private String message;

public RestError(String code, String message) {
    this.code = code;
    this.message = message;
}

public String getCode() { return code; }

public String getMessage() { return message; }

}

public class RestException extends RuntimeException {

private String errorCode;
private String errorMessage;

public RestException(String errorCode, String errorMessage) {
    super(errorMessage);
    this.errorCode = errorCode;
    this.errorMessage = errorMessage;
}

public String getErrorCode() {
    return errorCode;
}

public void setErrorCode(String errorCode) {
    this.errorCode = errorCode;
}

public String getErrorMessage() {
    return errorMessage;
}

public void setErrorMessage(String errorMessage) {
    this.errorMessage = errorMessage;
}

}

ControllerAdvice

@Controller

открытый класс RestController {

private static final Logger LOG = Logger.getLogger(RestController.class);
@RequestMapping(value = "/echo", method = RequestMethod.GET)
@ResponseStatus(HttpStatus.NO_CONTENT)
public void echo(@RequestParam(value = "clientVersion", required = false) String clientVersion,
                 @RequestParam(value = "applicationName", required = false) String applicationName,
                 HttpServletRequest httpRequest) {
    LOG.info("Throwing exception...");
    throw new RestException("9999", "Invoke Exception Handler");
}

}

Я вижу, что Spring создает объект GlobalExceptionHandler, но он не вызывается. Вот полный код

Я использую Spring 4.3.0 Framework и работаю в контейнере причала через Maven. пожалуйста, помогите мне

1 ответ

Вам нужно добавить

<mvc:annotation-driven/>

в ваш XML, чтобы включить ControllerAdvice. Также не забудьте добавить определение пространства имен и схемы для этого

<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:context="http://www.springframework.org/schema/context"
   xmlns:mvc="http://www.springframework.org/schema/mvc"
   xsi:schemaLocation="
        http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context 
        http://www.springframework.org/schema/context/spring-context-3.0.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
Другие вопросы по тегам