yale8848 / RetrofitCache

RetrofitCache让retrofit2+okhttp3+rxjava配置缓存如此简单。通过注解配置,可以针对每一个接口灵活配置缓存策略;同时让每一个接口方便支持数据模拟,可以代码减小侵入性,模拟数据可以从内存,Assets,url轻松获取。
MIT License
676 stars 85 forks source link

请问如何测试在cache有效期内读取的是缓存数据还是网络请求数据? #17

Closed uiiang closed 5 years ago

uiiang commented 6 years ago

请问如何测试在cache有效期内读取的是缓存数据还是网络请求数据?

yale8848 commented 6 years ago

测试的话你可以看 TAG="retrofitcache" 的log会提示的; 如果你想在程序中知道是缓存得话,你可以读取http的statusCode,304就是从缓存拿的数据;

uiiang commented 6 years ago

多谢,再问个问题,okhttp有没有办法先读取出缓存数据,再同时请求网络刷新数据。就是像微博那样先把缓存数据显示出来,同时请求新数据的场景

yale8848 commented 6 years ago

我还没有发现okhttp有这样的接口,不过你可以封装一下试试;先判断如果是304的话,再请求一次,请求header添加cache-control:no-control,pragma:no-cache 忽略缓存

uiiang commented 6 years ago

多谢指点 :-)