我在我的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。