改造如何处理两种类型的响应?

Qia*_*ang 7 android retrofit

我有一个Android应用程序的API服务器.

我正在尝试使用Retrofit.

比方说,api服务器可以返回正常状态 /users

{
    "userId":"123",
    "username":"John Doe"
}
Run Code Online (Sandbox Code Playgroud)

但它也可能会返回错误.

{
    "errorCode":0,
    "errorMessage":"blah"
}
Run Code Online (Sandbox Code Playgroud)

所以我只是想知道,有没有办法在Retrofit中为每个方法全局处理错误?

编辑:

我最终修改了服务器输出.

{
    data:[],
    error:{}
}
Run Code Online (Sandbox Code Playgroud)

Ama*_*ila 1

使用JsonObject的api的make方法如下所示

 Call<JsonObject> listRes(@Body GsonRegisterUser user);
Run Code Online (Sandbox Code Playgroud)

现在使用

Call<JsonObject> call = listenerRegisterUser.listRes(gsonRegisterUser);
Run Code Online (Sandbox Code Playgroud)

现在您将使用以下方法获得json响应,您可以根据您的要求进行解析

@Override
    public void onResponse(Response<JsonObject> response) {
            Log.e(TAG,response.body().toString());
    }
Run Code Online (Sandbox Code Playgroud)