TheJudge
TheJudge

Reputation: 606

RxJavaCallAdapter and Result Codes

I'm wondering whether there's a way to work with result codes in RxJava + Retrofit2. Let's say I have a call

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

and I'd like to check result code of the call. And I don't mean just error handling, I'm talking about 204 NO CONTENT for example. I haven't found anything here on Google so any help is appreciated. Thanks

Upvotes: 1

Views: 116

Answers (1)

Nishant Pardamwar
Nishant Pardamwar

Reputation: 1485

declare the api call like this

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

and in subscriber do like this...

    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){

                           }
                        }
                    });

Upvotes: 2

Related Questions