我正在使用Apache cachingHttpClient从java代码中查询REST API。
我想缓存一些http响应,尽管收到“Cache-Control:no-cache”标头会导致cachingHttpClient不缓存文件。
使用独立的http代理,例如squid,mod_cache ......,我可以调整配置以忽略这些标头并覆盖默认行为。
我不想选择独立的http代理,而是选择100%的java代码。
答案 0 :(得分:2)
请求被CachedResponseSuitabilityChecker
方法中的canCachedResponseBeUsed
拒绝。如果你需要不同的行为,那就是实现你自己的版本的类,然后使用cachingHttpClient
的长构造函数
CachingHttpClient(HttpClient backend,
CacheValidityPolicy validityPolicy,
ResponseCachingPolicy responseCachingPolicy,
HttpCache responseCache,
CachedHttpResponseGenerator responseGenerator,
CacheableRequestPolicy cacheableRequestPolicy,
CachedResponseSuitabilityChecker suitabilityChecker,
ConditionalRequestBuilder conditionalRequestBuilder,
ResponseProtocolCompliance responseCompliance,
RequestProtocolCompliance requestCompliance)