2015-06-30 8 views
6

Mam serwer API dla aplikacji na Androida.Zmodernizuj sposób obsługi dwóch odpowiedzi typu?

Próbuję użyć do tego Retrofit.

Serwer API może powrócić normalne, mówią /users

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

ale może też zwrócić błąd.

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

Zastanawiam się, czy istnieje sposób na globalne radzenie sobie z błędami dla każdej metody w Retroficie?

Edytuj:

Skończyłem z modyfikowaniem outpusu serwera.

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

out w dwóch różnych obiektach lub tablicy. zapakuj je togather. – Killer

Odpowiedz

1

make metoda API używając JSONObject jak pokazano poniżej

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

i teraz używany

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

Teraz dostaniesz json odpowiedzi za pomocą następującej metody i można analizować według Państwa wymaganie:

@Override 
    public void onResponse(Response<JsonObject> response) { 
      Log.e(TAG,response.body().toString()); 
    } 
Powiązane problemy