在Android上使用retrofit和okhttp,如何使用http cache ETag?我只添加了类似的
File cacheDirectory = new File(ctx.getApplicationContext().getCacheDir().getAbsolutePath(), "HttpCache");
OkHttpClient ok = new OkHttpClient();
try {
Cache cache = new Cache(cacheDirectory, CACHE_SIZE);
ok.setCache(cache);
} catch (IOException e) {
LogUtils.e(LOG_TAG, e);
}
ok.setConnectTimeout(TIMEOUT_MILLISEC, TimeUnit.MILLISECONDS);
RestAdapter.Builder builder = new RestAdapter.Builder().setEndpoint(API_ROOT)
.setErrorHandler(new APIErrorHandler()).setRequestInterceptor(mRequestInterceptor).setClient(new OkClient(ok));发布于 2015-01-03 13:40:52
演示Retrofit + OkHttp的Here's a gist。如果您的服务器在响应中返回ETag标头,则在条件GET上验证该标头时,OkHttp将包括If-None-Match。
发布于 2017-02-13 17:19:12
也许您已经添加了自定义的CacheInterceptor,如//.addNetworkInterceptor(new .addNetworkInterceptor()) //.addInterceptor(new .addNetworkInterceptor())
这将影响okhttp默认eTag操作。
https://stackoverflow.com/questions/27751634
复制相似问题