Как получить доступ к свойству _path в HttpMessageNotReadableException - PullRequest
0 голосов
/ 21 июня 2019

l хотел бы получить доступ к свойству _path в пределах HttpMessageNotReadableException, но я не знаю, с помощью какого метода или методов это сделать.Как я могу получить к нему доступ?

Моя версия JDK - JDK8, а версия My Spring Boot - 2.1.4.

Ответы [ 2 ]

0 голосов
/ 21 июня 2019

Вот как бы я это сделал:

e.getHttpInputMessage().getHeaders().getLocation().getPath()

Я оставлю это вам для проверки null, где это необходимо.

0 голосов
/ 21 июня 2019

Вы можете получить к нему доступ через ((MismatchedInputException)exception.getCause()).getPath(), где exception имеет тип HttpMessageNotReadableException

Конечно, это зависит от причины типа MismatchedInputException, я не уверен на 100% во всех возможных типах причин, но вы можете по существу определить индивидуальную логику для каждого возможного типа, чтобы извлечь _path, когда это возможно.

Мне удалось поймать и исследовать _path в следующем методе обработки исключений;

@ExceptionHandler(HttpMessageNotReadableException.class)
public void handleBadRequestException(HttpMessageNotReadableException exception) {
    ((MismatchedInputException)exception.getCause()).getPath()  // do whatever with the result
    ...
}

Но лучше быть уверенным в возможности null, может быть cause может быть null, поэтому добавьте нулевую проверку для этого, прежде чем получить _path

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...