在我的应用中,我正在显示基本上有三种状态的种族对象:待定, inProgress 和已完成。我想显示当前待处理或 inProgress 的所有种族,但不显示已完成的种族。为此,我想创建一个RESTful API来从我的服务器获取这些资源,但我不确定最好的(即最RESTful)方法是什么。
问题是当有人打开或刷新应用时,我需要做两件事:
我想出了一些不同的解决方案,但我不知道哪种解决方案最好:
对我而言,这似乎是一种非常常见的情况,但我无法找到这类问题的具体答案。我想看看SO的想法:)
提前感谢您的帮助!
答案 0 :(得分:0)
只需删除客户端上的旧Race记录,并始终获取所有新记录
这可能是最简单的解决方案。但是,如果您需要在客户端上进行非常流畅的更新(游戏,数据可视化等),则不应该这样做。
执行2个单独的GET操作(...)/执行单个GET操作,其中我指定最后一个客户端记录的创建日期,并获取更新的所有记录。
我肯定会通过一次操作来完成它。比更新时间戳更好(时间戳操作成本高,并且几个操作可能同时发生),我会使用序列号。 This is the way CouchDB handles "changes"。 此外,正如您将在文档中看到的那样,此解决方案可以升级为异步通知(如果您需要)。