У меня есть приложение Spring Boot Java. Существует класс обслуживания, который выдает «401 Несанкционированный» HttpClientErrorException, поскольку токен доступа, используемый в приложении, истек. Я хочу обработать это исключение глобально, для которого я использовал аннотацию @ControllerAdvice.
Ошибка:
Причина: org.springframework.web.client.HttpClientErrorException: 401 не авторизован
Класс:
@Slf4j
@EnableWebMvc
@ControllerAdvice(basePackages = Service.class)
public class HttpClientErrorHandler{
@ExceptionHandler(HttpClientErrorException.class)
@ResponseStatus(HttpStatus.UNAUTHORIZED)
public String errorHandle(HttpClientErrorException e) {
log.error("log HttpClientErrorException: ", e);
return "HttpClientErrorException_message";
}
}
Поскольку исключение было вызвано в классе обслуживания, я упомянул его конкретно в basePackages. Вся конфигурация для программы указана в файле application.yml. Я не использовал конфигурацию XML. Я не понимаю, почему аннотация @ControllerAdvice не работает. Программа по-прежнему выдает исключение. Может кто-нибудь объяснить?