如何从RxAndroid响应中获取标头。?

时间:2015-12-04 07:00:11

标签: android retrofit rx-java rx-android

这是我用于网络呼叫的功能。

  private void generateNewCard()
    {
        showProgressDialog();
        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl(NetworkCalls.BASE_URL)
                .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
                .addConverterFactory(GsonConverterFactory.create())
                .build();

        NetworkCalls.CustomerApi customerApi = retrofit.create(NetworkCalls.CustomerApi.class);

        customerApi.addExistingCard(prefs.getString(Constants.AUTH_TOKEN, ""), "", CREATE_NEW_CARD)
                .subscribeOn(Schedulers.newThread())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Observer<DataGeneral>() {

                    @Override
                    public void onCompleted() {
                        stopProgressDialog();
                        Log.d(TAG, "onCompleted DataGeneral" + DataGeneral.class);
                    }

                    @Override
                    public void onError(Throwable e) {
                        Log.d(TAG, "onError" + e.getMessage());
                        stopProgressDialog();
                    }

                    @Override
                    public void onNext(DataGeneral data) {

                        stopProgressDialog();
                        if (data.getStatus() == 1) {


                        }
                    }
                });
    }

,接口类就在这里,

        @FormUrlEncoded
        @POST("add-loyalty-card")
        Observable<DataGeneral> addExistingCard(@Field("Token") String token, @Field("cardHas") String cardHas, @Field("ltyCardId") String ltyCardId);

这对我来说很好。我得到了理想的结果。我想知道如何从响应中获取Header,是否有办法简化上述代码?

任何帮助都会非常感激。

0 个答案:

没有答案