【发布时间】:2016-03-02 20:30:06
【问题描述】:
我对 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 调用执行此操作。任何帮助表示赞赏。
【问题讨论】:
标签: android json retrofit rx-java