hurshi / dio-http-cache

http cache lib for Flutter dio like RxCache
Apache License 2.0
274 stars 223 forks source link

从缓存读取状态码的bug #13

Closed BB-fat closed 5 years ago

BB-fat commented 5 years ago

一个搜索功能的接口,通过http状态码判断请求状态,当状态码为200代表正常数据返回,204的时候代表没有数据,缓存之后原来是204的数据再次请求命中缓存却变成了200

hurshi commented 5 years ago

Hi,感谢你的反馈: 我在新版中已经修复这个问题。 解决方案是:仅当返回 statusCode == 200 的时候,才会进行缓存。

如果有更好的方案,非常欢迎提出来。

BB-fat commented 5 years ago

这可以加一个可选参数吗?就是只当stateCode==200的时候缓存或者任何情况都缓存 我是在做一个搜索功能的时候用到了您这个很棒的插件,我这个搜索的结果集几乎不会有变动,业务需要在用户输入的时候就被动进行搜索,因为网络的原因这样就可能很卡,影响用户体验,所以我在这之间使用了这个插件,效果不错,但是我们的接口在搜索不到东西的时候返回的stateCode是204,所以代码在判断到204的时候会渲染空提示,但我希望204同样被缓存,所以就出现了这个问题。

hurshi commented 5 years ago

Hi, 思考了你的问题,的确有其必要。 在新版中,对 200 <= statusCode < 300的请求都会缓存,并且缓存了 statusCode。 你可以升级到最新版看看。 非常感谢你的反馈,如果有更好的方案,依然非常欢迎提出来。

BB-fat commented 5 years ago

这个方法好,感谢大佬,我马上去试一试,阅读你的代码对我有很大帮助