Mon API est le retour sur le succès:Rénovation code d'erreur JSON
{"error_code": 0, "last_login": "2016-01-18T22:27:20.342Z", "facebook_id": "1", "id": 1, ..}
Et en cas d'erreur:
{"error_code": 1}
Mon interface rétrofit retourne l'objet utilisateur. Mais en cas d'erreur, tous les champs User sont définis sur null. Comment puis-je obtenir le code d'erreur? (Sans ajouter champ error_code à l'objet utilisateur)
Voici la décélération de la fonction:
@GET("/login")
Call<User> login (@Query("facebook_id") String facebook_id);
Et l'appel:
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();
}
});
Quel code de réponse votre API retourne-t-il en cas d'erreur? – Blackbelt
code_erreur! = 0 –
Jetez un oeil sur [ces articles] (https://futurestud.io/blog/retrofit-2-simple-error-handling) – oleynikd