2017-06-06 2 views
0

Ich bin mir sicher, dass etwas nicht stimmt mit dem, was ich hier mache. Retrofit geht nicht zum Scheitern selbst wenn der Code, den ich erhalte ist 400.Nachrüstung ruft keinen Fehler auf und response.code() ist 400

 AuthenticationService authService = retrofit.create(AuthenticationService.class); 
     Call<ValidateTokenResponseMessage> request = authService.validateToken(token); 
     request.enqueue(new Callback<ValidateTokenResponseMessage>() { 
      @Override 
      public void onResponse(Call<ValidateTokenResponseMessage> call, retrofit2.Response<ValidateTokenResponseMessage> response) { 
      // When I try to put a breakpoint here I can see that response.code() is 400. 
       ValidateTokenResponseMessage body = response.body(); 
       if (!body.getValidToken()) { 
        // do success 
       } 
      } 

      @Override 
      public void onFailure(Call<ValidateTokenResponseMessage> call, Throwable t) { 
       // do failure 
      } 
     }); 

Antwort

2

Callback.onFailure nur für Ausnahmen wie fehlende Internetverbindung oder ungültig https usw.

aufgerufen, wenn ein Netzwerk aufgerufen wird Es ist eine Ausnahme eingetreten, wenn mit dem Server gesprochen wurde oder wenn eine unerwartete Ausnahme beim Erstellen der Anforderung oder bei der Verarbeitung der Antwort aufgetreten ist.

auf Fehler überprüfen Sie Response.isSuccessful()

Gibt true zurück zu verwenden, wenn Code() im Bereich [200..300).

+0

Klar genug. Vielen Dank. – Lance