如何在retrofit2而不是POJO中获得原始响应

时间:2016-10-20 12:15:14

标签: java android json retrofit2

我在我的Android应用程序中使用Retrofit2进行所有网络调用。我为特定的响应配置POJO。但是我想检查原始的Json repsonse以获得一些额外的响应,这些响应不包含在POJO中作为变量。

POJO

public class User {

  @SerializedName("user_id")
  private long userId;

  @SerializedName("user_name")
  private String userName;

  @SerializedName("hobbies")
  private String hobbies;

  @SerializedName("class")
  private String studyClass;

  @SerializedName("branch_id")
  private long branchId;

  @SerializedName("createdOn")
  private Date createdOn;
}

我的网络界面

public interface ApiInterface {

  @GET("user/{userId}")
  Call<User> getUserInfo(@Path("userId") long userId);
}

我的请求数据的代码。

if (retrofit == null) {
        retrofit = new Retrofit.Builder()
                .baseUrl(BASE_URL)
                .addConverterFactory(GsonConverterFactory.create(gson))
                .build();
    }
ApiInterface apiService = retrofit.create(ApiInterface.class);
Call<User> call = apiService.getUserInfo(userId);
    call.enqueue(new Callback<User>() {
        @Override
        public void onResponse(Call<User> call, Response<User> response) {
            User user = response.body();
            setViews(user);
        }

        @Override
        public void onFailure(Call<User> call, Throwable t) {
            Toast.makeText(getApplicationContext(), "On failure while requesting server", Toast.LENGTH_LONG).show();
        }
    });

如何检查原始响应。但我希望接口方法返回POJO。

0 个答案:

没有答案