2016-02-24 67 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測試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(); 
    } 
}); 

我有這樣的異常: 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(); 

ResponseBodyokhttp3.ResponseBody

然後

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

... 

}); 
+0

謝謝你,它運作良好。 –

+0

這是唯一的選擇嗎? 如果我不關心響應正文。我只想要一個StatusCode 200或400等? – Zapnologica

相關問題