2015-06-30 20 views
6

Ho un server API per un'applicazione Android.Retrofit come gestire due tipi di risposte?

Sto cercando di utilizzare Retrofit per questo.

Il server API può tornare normale, dicono /users

{ 
    "userId":"123", 
    "username":"John Doe" 
} 

ma potrebbe anche restituire un errore.

{ 
    "errorCode":0, 
    "errorMessage":"blah" 
} 

Quindi mi chiedo solo, c'è un modo per gestire gli errori a livello globale per ogni metodo in retrofit?

Edit:

ho finito con la modifica outpus server.

{ 
    data:[], 
    error:{} 
} 
+0

in due diversi oggetti o array. imballarli insieme. – Killer

risposta

1

metodo marca di api utilizzando JsonObject come illustrato di seguito

Call<JsonObject> listRes(@Body GsonRegisterUser user); 

e ora utilizzato

Call<JsonObject> call = listenerRegisterUser.listRes(gsonRegisterUser); 

Ora si otterrà risposta JSON utilizzando seguendo il metodo e si può analizzare in base al vostro requisito

@Override 
    public void onResponse(Response<JsonObject> response) { 
      Log.e(TAG,response.body().toString()); 
    } 
Problemi correlati