yale8848 / RetrofitCache

RetrofitCache让retrofit2+okhttp3+rxjava配置缓存如此简单。通过注解配置,可以针对每一个接口灵活配置缓存策略;同时让每一个接口方便支持数据模拟,可以代码减小侵入性,模拟数据可以从内存,Assets,url轻松获取。
MIT License
676 stars 85 forks source link

通过Interceptor动态添加参数的改怎么处理 #13

Closed gzsll closed 6 years ago

gzsll commented 6 years ago

RT,如果每个请求我会通过Interceptor添加Token,然后获取到的cache time就都是0了,这种情况改怎么处理

yale8848 commented 6 years ago

请帖上代码看看

gzsll commented 6 years ago

@Override public Response intercept(Chain chain) throws IOException { Request request = chain.request(); // Add access_token parameter if user login UserInfo userInfo = mFRVAccountManager.getUserInfo(); String accessToken = userInfo != null ? userInfo.token() : null; HttpUrl originalUrl = request.url(); if (!TextUtils.isEmpty(accessToken) && originalUrl != null && TextUtils.isEmpty(originalUrl.queryParameter("access_token"))) { HttpUrl url = originalUrl.newBuilder().addEncodedQueryParameter("access_token", accessToken).build(); request = request.newBuilder().url(url).build(); } return chain.proceed(request); } 通过intercept添加access_token

yale8848 commented 6 years ago

你自己给url添加新的字段,导致原始请求url链接发生变化,最后找不到这个新的链接,cache time就成默认值了; 我下版本再想办法兼容处理一下这个问题

yale8848 commented 6 years ago

请更新至1.0.7 RetrofitCache.getInstance().addIgnoreParam("access_token");