Модификация 2.0 + RxJava + ошибка тела JSON
Я довольно новичок в RxJava и Retrofit и пытаюсь написать свои вызовы API с ним. Все вызовы API возвращают тело JSON при ошибке в общем формате, как,
{"errors":[{"code":100, "message":"Login/Password not valid", "arguments":null}]}
В настоящее время мой код для вызова API входа в систему (другие тоже похожи),
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);
}
});
Когда я получаю ошибку в onError (), я бы хотел вместо этого автоматически декодировать JSON в теле ошибки в POJO и использовать это. Есть ли способ сделать это предпочтительно в одном месте для всех других вызовов API. Любая помощь приветствуется.