Używam Retrofit 2.0 do wykonywania wywołań API, które zwracają Observables. Wszystko działa dobrze, gdy połączenie zostało przerwane, a odpowiedź jest zgodna z oczekiwaniami. Teraz powiedzmy, że mamy odpowiedź błędu, rzuca on onError. Chciałbym przeczytać treść odpowiedzi, nawet jeśli jest to błąd.Jak uzyskać treść odpowiedzi w przypadku wystąpienia błędu podczas korzystania z Retrofit 2.0 Observables
Przykład
@FormUrlEncoded
@POST("tokenLogin")
Observable<LoginResponse> loginWithToken(
@Field("token") String pin
);
Gdy żądanie i odpowiedź są ważne, mam prawo do zaobserwowania i onError jest nazywany zgodnie z oczekiwaniami, gdy wystąpi błąd.
Poprawne odpowiedzi:
{ "status" : "authenticated" }
obserwowalnym konwertuje do prawej Obserwowalne i mogę odczytać odpowiedź jako obiekt LoginResponse.
Teraz odpowiedź Błąd jest następujący:
{ "errorMessage" : "You need to take some xyz action" }
chciałbym przeczytać, że odpowiedź błędu i wyświetli komunikat dla użytkownika. Jak mam to zrobić?