Retrofit 2.0 beta 4 响应获取 IllegalArgumentException [英] Retrofit 2.0 beta 4 response get IllegalArgumentException

查看:78
本文介绍了Retrofit 2.0 beta 4 响应获取 IllegalArgumentException的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的是改造 1.9,我创建了注销方法

I am using retrofit 1.9 and i created logout method as

@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 并使用此代码

i upgraded it to retrofit 2.0 beta 4 and used this code

@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 吗?

I have this exception : java.lang.IllegalArgumentException: 'retrofit2.Response' is not a valid response body type. Did you mean ResponseBody?

有什么问题?

推荐答案

我能够通过这个答案克服这个问题:https://stackoverflow.com/a/33228322

I was able to overcome this by this answer: https://stackoverflow.com/a/33228322

那就试试吧:

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

其中 ResponseBody 是一个 okhttp3.ResponseBody

然后

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

...

});

这篇关于Retrofit 2.0 beta 4 响应获取 IllegalArgumentException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆