Jestem całkiem nowy dla RxJava i Retrofit i staram się pisać za pomocą wywołań API. Wszystkie wywołania API powrócić ciało JSON o błędzie, który jest w ogólnym formacie jak,Retrofit 2.0 + RxJava + Błąd JSON body
{"errors":[{"code":100, "message":"Login/Password not valid", "arguments":null}]}
Obecnie mój kod do wywołania API logowania (inne są podobne) jest
mConnect.login(id, password)
.subscribe(new Subscriber<Token>() {
@Override
public void onCompleted() {
Log.d(TAG, "onCompleted()");
}
@Override
public void onError(Throwable e) {
Log.e(TAG, "onError(): " + e);
if (e instanceof HttpException) {
// dump e.response().errorBody()
}
}
@Override
public void onNext(Token token) {
Log.d(TAG, "onNext(): " + token);
}
});
Kiedy dostać błąd w onError(), chciałbym automatycznie dekodować JSON w treści błędu do POJO zamiast tego i użyć tego. Czy istnieje sposób, aby to zrobić najlepiej w jednym miejscu dla wszystkich innych wywołań API. Każda pomoc jest doceniana.