web-services - 为什么使用分页标记?

标签 web-services pagination

我正在网络服务上实现分页。我的第一个想法是使用查询参数 pagesize,如 Spring Data。

但是,我们的一些设计基于 google webservice api。我注意到他们使用分页标记,每个页面结果都包含一个 nextPageToken。使用这种方法有什么优点?改变数据?这样的 token 中会编码什么样的信息?

最佳答案

使用偏移量分页时,在请求之间插入和删除数据将导致行被跳过或包含两次。如果您能够跟踪之前返回的内容的 token (通过 key 或其他方式),您可以保证不会两次返回相同的结果,即使请求之间存在插入/删除也是如此。

我有点不确定如何对 token 进行编码,但对于单个表,至少似乎您可以使用主键的编码版本作为限制。 “我刚刚返回了 key=200 之前的所有内容。下次我只会返回 200 之后的内容。”我想这假设在请求 1 和 2 之间插入的新项目将被赋予比现有 key 更大的 key 。

https://use-the-index-luke.com/no-offset

关于web-services - 为什么使用分页标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35369966/

相关文章:

asp.net - silverlight 错误 - 相对 uri 不支持该操作

php - 突出显示当前页码 PHP 分页

javascript - 如何避免在 Angular 4 上多次调用相同的 API?

java - 如何使用仅包含 xml 内容的请求对 servlet 进行单元测试

android - 音频问题

ruby - 不需要的表单参数被附加到分页链接

python - 下一个,上一个,计数的 Django 分页

java - tomcat、jdk、jre如何背书?

asp.net-mvc - 由于输入文本框的过滤而导致绑定(bind)列表发生更改时, Angular 分页不会更新

带链接范围的 PHP 分页。需要帮助调整循环