Я использую Retrofit 2.0, чтобы сделать api-вызовы, возвращающие Observables. Все работает хорошо, когда звонок прошел через штраф, и ответ такой, как ожидалось. Теперь позвольте сказать, что у нас есть ответ об ошибке, он бросает onError. Я хотел бы прочитать тело ответа, даже если это ошибка.
Пример
@FormUrlEncoded
@POST("tokenLogin")
Observable<LoginResponse> loginWithToken(
@Field("token") String pin
);
Когда запрос и ответ действительны, я получаю правильный наблюдаемый, и onError вызывается как ожидается, когда есть ошибка.
Правильный ответ:
{ "status" : "authenticated" }
Наблюдаемый преобразует это в правое Наблюдаемое, и я могу прочитать ответ как объект LoginResponse.
Теперь ответ об ошибке выглядит следующим образом:
{ "errorMessage" : "You need to take some xyz action" }
Я хотел бы прочитать этот ответ об ошибке и отобразить сообщение пользователю. Как мне это сделать?