При просмотре из официального javadoc .
onFailure(Call<T> call, Throwable t)
Вызывается, когда происходит сетевое исключение во время разговора с сервером или когда возникает непредвиденное исключение, создающеезапрос или обработка ответа.
onResponse(Call<T> call, Response<T> response)
Вызывается для полученного ответа HTTP.
В вставляемом кодекажется, вы получаете HTTP-ответ.
Хорошо, это ответ с кодом 500, поэтому не очень хороший, но в любом случае.
Вот почему в Response
есть метод isSuccessful()
, как это объясняется в Подробности метода
onResponse()
Детали методаthe doc
Примечание. Ответ HTTP может по-прежнему указывать на сбой уровня приложения, например 404 или 500. Вызовите Response.isSuccessful (), чтобы определить, указывает ли ответ на успех.
Чтобы вы могли справиться с этим, обновите свой код следующим образом
public void onResponse(retrofit2.Call<Assistant> call, Response<Assistant> response) {
if (response.isSuccessful()){
startActivity(new Intent(getApplicationContext(), BottomNavigation.class));
} else {
// Handle your 500 here
}
}