android – 在改进2的onResponse中访问发送参数

我使用retrofit2创建请求并将参数发送到服务器,如何在onResponse中访问发送参数?

  retrofit = new Retrofit.Builder()
            .baseUrl("baseAddress")
            .addConverterFactory(GsonConverterFactory.create())
            .build();

    ApiBase serviceSetParam = retrofit.create(ApiBase.class);
    Call<String> myCall = serviceSetParam.setParam("data1","data2");
    Callback<String> myCallback = new Callback<String>() {
        @Override
        public void onResponse(Call<String> call, Response<String> response) {

            //i need access data1 & data2 Here !

            if (response.isSuccessful()) {
                String mResponse= response.body();
            } else {
                Utils.Log("unSuccessful");
            }


        }

        @Override
        public void onFailure(Call<String> call, Throwable t) {
            Utils.Log("onFailure");
        }
    };
    myCall.enqueue(myCallback);

这里的send param方法:

  @FormUrlEncoded
    @POST("set")
    Call<String> setParam(@Field("param1") String param1, @Field("param2") String param2);

解决方法:

在您的请求的onResponse方法中,测试此代码:

                try {
                    BufferedSink bf = new Buffer();
                    call.request().body().writeTo(bf);
                    Log.i("params are",bf.buffer().readUtf8().toString());
                } catch (IOException e) {
                    e.printStackTrace();
                }
上一篇:android – Retrofit响应缓存


下一篇:android – OKHttp – 找不到setSslSocketFactory