RxJavaCallAdapter和结果代码

时间:2016-11-11 10:06:07

标签: android http rx-java retrofit2

我想知道是否有办法在RxJava + Retrofit2中使用结果代码。假设我有一个电话

api.getAll()
   .subscribeOn(Schedulers.io())
   .observeOn(AndroidSchedulers.mainThread())
   .subscribe(data -> {
       // Do something
   });

我想查看通话的结果代码。而且我并不仅仅意味着错误处理,我说的是例如204 NO CONTENT。我没有在谷歌找到任何东西,所以任何帮助表示赞赏。感谢

1 个答案:

答案 0 :(得分:2)

声明这样的api调用

Observable<Response<MyResponseObject>> apiCall(@Body body);

并且订阅者喜欢这样......

    apiCall.getAll()
       .subscribeOn(Schedulers.io())
       .observeOn(AndroidSchedulers.mainThread())
       .subscribe(new Observer<Response<MyResponseObject>>() {
                        @Override
                        public void onCompleted() {

                        }

                        @Override
                        public void onError(Throwable e) {

                        }

                        @Override
                        public void onNext(Response<MyResponseObject>> response) {
                           //get response code like
                           if(response.code()==202){

                           }
                        }
                    });