Android 使用REFORMAT2和okhttp3缓存请求
我正在使用Reformation2使用缓存拦截器兑现响应Android 使用REFORMAT2和okhttp3缓存请求,android,retrofit2,okhttp3,Android,Retrofit2,Okhttp3,我正在使用Reformation2使用缓存拦截器兑现响应 @Override public Response intercept(Chain chain) throws IOException { Response originalResponse = chain.proceed(chain.request()); if (NetworkUtil.isConnected(context)) { return originalResponse.newBuilder
@Override
public Response intercept(Chain chain) throws IOException {
Response originalResponse = chain.proceed(chain.request());
if (NetworkUtil.isConnected(context)) {
return originalResponse.newBuilder()
.header("Cache-Control", "public, max-age=" + MAX_AGE)
.build();
} else {
return originalResponse.newBuilder()
.header("Cache-Control", "public, only-if-cached, max-stale=" + MAX_STALE)
.build();
}
}
但我需要缓存特定的请求,而不是所有的请求,如何做到这一点
public Response intercept(Chain chain)
此处的链包含正在发出的请求
public Response intercept(Chain chain) {
Request request = chain.request()
}
您可以检查此请求并根据信息执行操作,例如使用request.url()
和request.headers()
查看有关拦截的更多信息。您在
链中有您的请求,您可以查看url或您需要的内容。不确定。但是看看你给你的电话添加标题,然后在截取中检查相同的标题,然后做需要做的事情。查看幻灯片37至43I,在不覆盖发送到服务器的请求中的“缓存控制”标题的情况下对特定请求进行内部缓存?谢谢@Tim的帮助。我在不覆盖发送到服务器的请求中的“缓存控制”标题的情况下对特定请求进行内部缓存?可能是@Sahar。参见和其他示例