Как получить сообщение об ошибке из 422 Unprocessable Entity response

Я делаю вызов API, который возвращает мне это

Ответ {protocol = http / 1.1, code = 422, message = Unprocessable Entity, url = https://someapi/endpoint}

В журналах вместе с ответом я получаю следующее:

{"message": "Ошибка проверки","ошибки":{"электронная почта":["уже занята"]}}

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

Как я могу получить сообщение от тела ошибки? Я пытался так:

response.message ()

Но я получаю только

Необработанный объект

1 ответ

Попробуйте как ниже

 .subscribe(res-> {
                      //success case

                    },
                    t -> {
                        if (t instanceof HttpException) {
                           if (((HttpException) t).code() == 422) {
                           String errorResponse=((HttpException) t).response().errorBody().string();
                         //your validations
                        }
                        } else {

                            t.printStackTrace();

                        }
                    });

Я надеюсь, что это поможет вам:-)

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