我有一个Android应用程序使用Robospice和Jackson + Spring来执行REST请求。这是有效的,除了Robospice似乎没有缓存响应。我还确保缓存密钥在请求之间保持一致。
我正在设置SpiceManager:
private SpiceManager mRestManager = new SpiceManager(JacksonSpringAndroidSpiceService.class);
然后,我正在执行这样的请求:
mRestManager.execute(customSpiceRequest, requestCacheKey,
DurationInMillis.ALWAYS, new CustomRequestListener())
我不知道它是否相关,但我的customSpiceRequest扩展了SpringAndroidSpiceRequest。我已经确定requestCacheKey在请求之间也是相同的。
在请求之间启用缓存还需要做些什么吗?
答案 0 :(得分:6)
事实上,RoboSpice正在做你想要的:你通过 DurationInMillis.ALWAYS作为要执行的参数。
这意味着数据 在缓存中始终被视为已过期。因此,SpiceRequest会 始终执行网络呼叫。你应该使用不同的 调用execute时的cacheDuration值。
此后,Javadoc得到了增强: