我正在使用OkHttp缓存对使用“Authorize”标头进行身份验证的PUT请求的响应,并且没有看到任何缓存。
Android客户端代码设置缓存如下:
int cacheSize = 10 * 1024 * 1024; // 10 MiB
cache = new Cache(context.getCacheDir(),cacheSize);
client.setCache(高速缓冲存储器);
我的服务器正在回复:
缓存控制:public,max-age = 60,s-maxage = 60
当我记录缓存时,getRequestCount()会递增,但缓存中没有匹配或任何网址。
知道我做错了吗?
谢谢!
答案 0 :(得分:0)
只缓存GET响应,所以我的修复是转换为GET。在OkHttp Cache.java中: -
if (!requestMethod.equals("GET")) {
// Don't cache non-GET responses. We're technically allowed to cache
// HEAD requests and some POST requests, but the complexity of doing
// so is high and the benefit is low.
return null;
}