0

我的 API 是成功返回:

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

并在错误:

{"error_code": 1}

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

2 回答 2

0

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

于 2016-03-16T22:56:14.063 回答
-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:");
} 
于 2016-01-22T22:33:57.650 回答