改造错误代码 JSON

Retrofit error code JSON

我的 API 是 return 成功:

{"error_code": 0, "last_login": "2016-01-18T22:27:20.342Z", "facebook_id": "1", "id": 1, ..}

错误:

{"error_code": 1}

我的改造界面是 returning 用户对象。但是如果出现错误,所有用户字段都将设置为空。我怎样才能得到错误代码? (不向用户对象添加 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();
        }
    });
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:");
} 

我用包含 error_code 字段的父 class 解决它,所有 API 对象都继承自该父对象。