Retrofit 2.0 beta 4 响应获取 IllegalArgumentException
Retrofit 2.0 beta 4 response get IllegalArgumentException
我正在使用改造 1.9,我创建了注销方法
@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();
}
});
我将它升级到 retrofit 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();
}
});
我有这个例外:
java.lang.IllegalArgumentException: 'retrofit2.Response' 不是有效的响应正文类型。您是指 ResponseBody 吗?
有什么问题?
我能够通过这个答案克服这个问题:
所以尝试:
@GET("user/logout")
Call<ResponseBody> logoutUser();
其中 ResponseBody
是 okhttp3.ResponseBody
然后
logoutUser().enqueue(new Callback<ResponseBody>() {
...
});
我正在使用改造 1.9,我创建了注销方法
@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();
}
});
我将它升级到 retrofit 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();
}
});
我有这个例外: java.lang.IllegalArgumentException: 'retrofit2.Response' 不是有效的响应正文类型。您是指 ResponseBody 吗?
有什么问题?
我能够通过这个答案克服这个问题:
所以尝试:
@GET("user/logout")
Call<ResponseBody> logoutUser();
其中 ResponseBody
是 okhttp3.ResponseBody
然后
logoutUser().enqueue(new Callback<ResponseBody>() {
...
});