我的API成功回归:
{"error_code": 0, "last_login": "2016-01-18T22:27:20.342Z", "facebook_id": "1", "id": 1, ..}
出错:
{"error_code": 1}
我的改造界面正在返回User对象。但是如果出现错误,则所有用户字段都设置为null。我怎样才能得到错误代码? (不向用户对象添加error_code字段)
这是减速功能:
@GET("/login")
Call<User> login (@Query("facebook_id") String facebook_id);
电话:
Call<User> call = apiService.login("2");
call.enqueue(new Callback<User>() {
@Override
public void onResponse(Response<User> response) {
// Here I wan't to check somehow the error_code
User user = response.body();
Toast.makeText(context, "OK!", Toast.LENGTH_SHORT).show();
}
@Override
public void onFailure(Throwable t) {
Toast.makeText(context, "Failed!", Toast.LENGTH_SHORT).show();
t.printStackTrace();
}
});
答案 0 :(得分:0)
我用包含error_code字段的父类解决它,并且所有API对象都继承自此父对象。
答案 1 :(得分:-2)
public class User {
public int error_code;
//other keys like last_login
public boolean hasError (){
return error_code == 0;
}
}
在onResponse(..) {}
区块中,请致电:
if(response.body().hasError()) {
Toast("Error:");
}