我正在尝试使用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) {
}
});
有人知道我为什么会收到这个错误? 谢谢你的帮助
答案 0 :(得分:0)
你可能遇到和这个家伙一样的问题: retrofit and orm library throw StackOverflow
您使用的User类是否有机会扩展ORM的模型类? 如果是这种情况,一种解决方案是复制您的类并使用一个用于序列化,另一个用于数据库编写。
答案 1 :(得分:0)
我刚刚用OkHttp3}}
为Retrofit编写了样板代码