通常,用户进行搜索,获取命中列表,然后可以浏览它。命中列表是在整个浏览过程中保持一致的中间结果,通常存储在会话状态中。例如,如果新项目被其他人同时添加,它们只会出现在随后的搜索中。
在 REST 应用程序中,我不能轻易获得这个中间结果——它既不属于客户端,也不属于模型。我已经阅读了 REST web app 中的分页,但对答案并不完全清楚。那里的解决方案似乎假设在用户浏览结果时模型没有更新。
我们当然可以把世界(模型)想象成一系列不可变的快照。通过提供时间戳(或全局版本号),我们就可以得到当时模型的一致视图,从概念上解决问题。然而,它确实意味着模型的完整版本。(我也想知道是否与函数式编程有联系)
我应该如何处理这个问题?
注意:我问是因为我打算使用play framework,它根本没有 HTTP 状态或会话的概念;这是纯粹的宁静。