2016-02-24 4 views
2

Я использую переоснащение 1.9 и я создал метод выхода из системы, какдооснащение беты 2,0 4 ответа получить IllegalArgumentException

@GET("/user/logout") 
void logoutUser(Callback<Response> callback); 

logoutUser(new RequestCallback<Response>(this) { 
    @Override 
    public void success(Response response, Response response2) { 
     settingsService.setUserLoggedOut(); 
     getMainActivity().finish(); 
    } 
}); 

я модернизировал его дооснастить 2.0 Beta 4 и использовать этот код

@GET("user/logout") 
Call<Response> logoutUser(); 

logoutUser().enqueue(new RequestCallback<Response>(this) { 
    @Override 
    public void onResponse(Call<Response> call, Response<Response> response) { 
     settingsService.setUserLoggedOut(); 
     getMainActivity().finish(); 
    } 
}); 

У меня есть это exception: java.lang.IllegalArgumentException: 'retrofit2.Response' не является допустимым типом тела ответа. Возможно, вы имели в виду ResponseBody?

В чем проблема?

+0

вы добавили ToGsonConverterFactory ? –

+0

@ankitaggarwal да я сделал ... .addConverterFactory (GsonConverterFactory.create()) ... –

ответ

5

я смог преодолеть это такой ответ: https://stackoverflow.com/a/33228322

Так попробуйте:

@GET("user/logout") 
Call<ResponseBody> logoutUser(); 

Где ResponseBody является okhttp3.ResponseBody

, а затем

logoutUser().enqueue(new Callback<ResponseBody>() { 

... 

}); 
+0

спасибо, что это хорошо работает. –

+0

Это единственный вариант? Что делать, если меня не волнует тело ответа. Я просто хочу StatusCode 200 или 400 и т. Д.? – Zapnologica

Смежные вопросы