ExceptionHandler не найден на моей машине, но находится на сервере разработки

Я построил REST-API, в котором все проблемы обрабатываются путем генерирования исключений и последующей их обработки в аннотированном классе @ControllerAdvice, содержащем несколько методов @ExceptionHandler.

По какой-то причине исключения не обнаруживаются, когда я запускаю свои интеграционные тесты (с использованием грузового сервера), ИЛИ когда я запускаю войну на локальном сервере tomcat 8, но они ловятся отлично, когда я запускаю войну на сервере dev. Насколько мне удалось убедиться, dev Tomcat не настроен по-другому.

Мой @ControllerAdvice выглядит следующим образом:

@ControllerAdvice
public class CustomResponseEntityExceptionHandler {

@ExceptionHandler(PasswordMismatchException.class)
public final ResponseEntity<ErrorDetails> handlePasswordChangeMismatch(
        PasswordMismatchException ex,
        WebRequest request) {
    ErrorDetails errorDetails = new ErrorDetails(
            new Date(),
            ex.getMessage(),
            request.getDescription(false),
            MessageKeys.mismatchedPassword);
    return new ResponseEntity<>(errorDetails, HttpStatus.BAD_REQUEST);
}

@ExceptionHandler(DuplicateUserException.class)
public final ResponseEntity<ErrorDetails> handleDuplicateUser(
        DuplicateUserException ex,
        WebRequest request) {
    ErrorDetails errorDetails = new ErrorDetails(
            new Date(),
            ex.getMessage(),
            request.getDescription(false),
            MessageKeys.duplicateUsername);
    return new ResponseEntity<>(errorDetails, HttpStatus.BAD_REQUEST);
}

@ExceptionHandler(LastAdminDeletionException.class)
public final ResponseEntity<ErrorDetails> handleDuplicateUser(
        LastAdminDeletionException ex,
        WebRequest request) {
    ErrorDetails errorDetails = new ErrorDetails(
            new Date(),
            ex.getMessage(),
            request.getDescription(false),
            MessageKeys.lastAdminDeletion);
    return new ResponseEntity<>(errorDetails, HttpStatus.BAD_REQUEST);
}

@ExceptionHandler(WeakPasswordException.class)
public final ResponseEntity<ErrorDetails> handleDuplicateUser(
        WeakPasswordException ex,
        WebRequest request) {
    ErrorDetails errorDetails = new ErrorDetails(
            new Date(),
            ex.getMessage(),
            request.getDescription(false),
            MessageKeys.weakPassword);
    return new ResponseEntity<>(errorDetails, HttpStatus.BAD_REQUEST);
}
}

Вам это, ребята, знакомо?

0 ответов

Другие вопросы по тегам