改进StackOverFlow

时间:2014-12-03 16:48:06

标签: java retrofit stack-overflow okhttp

我正在尝试使用Retrofit和OkHttp进行登录,我得到了StackOverflowError。

private Gson gson = new GsonBuilder()
    .setDateFormat("yyyy-MM-dd")
    .create();

private RequestInterceptor requestInterceptor = new RequestInterceptor() {
    @Override
    public void intercept(RequestFacade request) {
        request.addHeader("User-Agent", UserAgent);
        request.addHeader("Accept", "application/json");
    }
};

OkHttpClient okHttpClient = new OkHttpClient();
okHttpClient.setConnectTimeout(15, TimeUnit.SECONDS);

RestAdapter restApdter = new RestAdapter.Builder()
    .setEndpoint(API_PATH)
    .setRequestInterceptor(requestInterceptor)
    .setConverter(new GsonConverter(gson))
    .setClient(new OkClient(okHttpClient))
    .build();

service = restApdter.create(UserService.class);
service.loginUser(jUser, new Callback<User>() {
@Override
public void success(User user, Response response) {               
}

@Override
public void failure(RetrofitError error) {                
}
});

有人知道我为什么会收到这个错误? 谢谢你的帮助

2 个答案:

答案 0 :(得分:0)

你可能遇到和这个家伙一样的问题: retrofit and orm library throw StackOverflow

您使用的User类是否有机会扩展ORM的模型类? 如果是这种情况,一种解决方案是复制您的类并使用一个用于序列化,另一个用于数据库编写。

答案 1 :(得分:0)

我刚刚用OkHttp3}}

为Retrofit编写了样板代码