I make an api call which returns me this
Response{protocol=http/1.1, code=422, message=Unprocessable Entity, url=https://someapi/endpoint}
In the logs, along with the response i get the following:
{"message":"Validation Failed","errors":{"email":["has already been taken"]}}
I'm working on an Android app that has a profile creation feature and I want to redirect the user back so it can change its email address when I receive this response but for that I need to fetch and handle the "errors" message.
How can i get the message from the error body ? I've tried like this:
response.message()
But I get only
Unprocessable Entity
Try like below
.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();
}
});
I hope it's will help you :-)