Android 使用REFORMAT2和okhttp3缓存请求

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

我正在使用Reformation2使用缓存拦截器兑现响应

 @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。参见和其他示例