如果返回的项目数量确实 很大,
则另一个选择是将数据分页回客户端。如果列表足够多,那么它可能甚至对用户和界面都没有用(不确定您的使用经验)。例如,查看StackOverflow-
每天都有大量帖子,但是界面(可能还有后端查询模式)可以分页数据。
简单的分页方法是“更多”模式
/users/{username}/tasks?top=n如果以25开始,那么可能还有更多链接可以拉到前50位等等。有点像ios邮件和其他类似的应用程序。
另一种方法是“页面”
/users/{username}/tasks?page=1有趣的问题是您是否希望该集合稳定。换句话说,该用户的任务正在更改,因此转到第2页可能会跳过项目或显示第1页中的项目-除非您为该用户保留“查询”状态-
可能存储结果集(可以是ID )在数据库,中间层(有问题的多个AT)或在客户端(返回所有ID并具有客户端页面列/数据)中的一种-类似于虚拟列表视图。
当您使用庞大的数据集时,仅返回所有数据通常不是正确的答案,然后开始使分页等方法变得复杂。
希望能引起人们对不同选择的思考。可能不是您问题的确切答案。



