Behandlung von Netzwerkfehlern in Retrofit 2 mit RxJava
Ich benutze Retrofit2 mit RxJava. Also mein Anruf sieht ungefähr so aus wie
subscriptions.add(authenticateUser(mReq, refreshRequest)
.observeOn(Schedulers.io())
.subscribeOn(Schedulers.io())
.subscribe(authResponseModel -> {
processResponse(authResponseModel, userName, encryptedPass);
}, throwable ->
{
LOGW(TAG, throwable.getMessage());
}));
Es ist eine Authentifizierungs-API. Wenn der API-Aufruf fehlschlägt, erhalte ich eine Antwort vom Server wie
{"messages":["Invalid username or password "]}
zusammen mit400 Bad Request
Ich bekomme400 Bad Request
in demthrowable
Objekt wie erwartet. Aber ich möchte die Nachricht vom Server erhalten. Ich kann nicht herausfinden, wie ich es machen soll. Kann mir jemand weiterhelfen.