ExceptionHandler: 404 вместо ожидаемой возвращаемой сущности

204
05 ноября 2018, 16:00

У меня есть Exception, который я и написал:

public class UserIdentificationException extends RuntimeException {
    private MobileApiResponseCode code;
    public UserIdentificationException(MobileApiResponseCode code) {
        this.code = code;
    }
    public MobileApiResponseCode getCode() {
        return code;
    }
}

Есть обработчик исключений, тоже написанный мной:

@ControllerAdvice
public class MobileApiExceptionHandler {
    @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
    @ExceptionHandler(value = UserIdentificationException.class)
    public ApiResponse<MobileMessageResponse> handleUserIdentificationException(UserIdentificationException e) {
        return new ApiResponse<>(ApiBaseResponseCode.OK, e.getCode().getDescription());
    }
}

Есть тестовый контроллер:

@GetMapping("/test")
public ApiResponse<MobileMessageResponse> test() {
    throw new UserIdentificationException(MobileApiResponseCode.INVALID_AUTH_TOKEN);
}

Ожидается, что при запросе я получу заявленное в обработчике содержимое ApiResponse, но вместо этого приходит пустота и статус 404.

Подскажите, что не так?

UPD: ответ, конвертированный в JSON, выглядит так:

{"code":15,"errorMsg":"invalid auth token"}

А уже при попытке его вернуть происходит 404.

Answer 1

В общем, оказалось, что не хватает аннотации @ResponseBody над методом обработчика.

READ ALSO
Поиск слова по первой букве java

Поиск слова по первой букве java

Есть ли в java возможность по первой букве находить из массива/текстового документа слово? К примеру , в текстовом документе есть слова

206
Проблема с вводом данных в EditText

Проблема с вводом данных в EditText

В прокуте есть страница что получает с базы переменные, которые указывают какие View элементы должны быть созданы програмно, через кодНа телефонах...

174
NoDefClassFoundError при запуски TestNg тестов на Jenkins

NoDefClassFoundError при запуски TestNg тестов на Jenkins

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

175