使用OKHttp缓存数据

时间:2014-11-05 13:11:02

标签: java caching okhttp

我正在尝试使用OKHttp的本机缓存来缓存数据;我的问题是我无法控制服务器端数据,并且响应头Cache-Control将返回“无缓存”值。

是否有拦截请求添加到标头中以缓存使用OkHttp返回的数据? (如果可能的话,我也想缓存特定的请求)。

谢谢! 最好的祝福, 克里斯托弗史蒂文

2 个答案:

答案 0 :(得分:2)

OkHttp目前还没有提供打败Cache-Control: no-cache的机制。 OkHttp将最终验证服务器的响应,但如果服务器说存储的响应仍然良好,则响应主体不需要重新传输。

我们有一个feature request杰出人士需要这样的东西,虽然这很难,因为这可能意味着单个请求会产生多个回复。

答案 1 :(得分:0)

万一其他人迟到了18个月......你现在可以"击败" Cache-Control: no-cache通过添加拦截器作为网络拦截器(因此它在OkHttp处理之前更新服务器响应)。

https://github.com/square/okhttp/wiki/Interceptors#rewriting-responses的OkHttp wiki上有一个很好的例子。

希望这有帮助。