Ich verwende Retrofit 2.0, um API-Aufrufe zu erstellen, die Observables zurückgeben. Es funktioniert alles gut, wenn der Anruf ordnungsgemäß ausgeführt wurde und die Antwort wie erwartet ist. Nehmen wir an, wir haben eine Fehlerreaktion, es löst einen onError aus. Ich möchte den Antworttext lesen, auch wenn es ein Fehler ist.Wie bekomme ich Response-Nachricht, wenn bei der Verwendung von Retrofit 2.0 Observables ein Fehler auftritt
Beispiel
@FormUrlEncoded
@POST("tokenLogin")
Observable<LoginResponse> loginWithToken(
@Field("token") String pin
);
Wenn die Anfrage und Antwort gültig sind, erhalte ich die richtige beobachtbar und onError wie erwartet wird aufgerufen, wenn ein Fehler ist.
Richtige Antwort:
{ "status" : "authenticated" }
Die beobachtbare wandelt diese in die rechten beobachtbare und ich kann die Antwort als Objekt Login lesen.
Nun ist die Fehlerreaktion wie folgt:
{ "errorMessage" : "You need to take some xyz action" }
Ich möchte, dass die Fehlerantwort lesen und die Nachricht an den Benutzer anzuzeigen. Wie gehe ich vor?