我知道,当今大多数 REST API 中,网络调用响应都必须分页。 但是,我在网上没有看到任何关于如何选择 API 调用返回的批处理的理想大小的见解:应该是 10、100、1000。简而言之:我们应该基于哪些因素来反射(reflect)API 响应的大小?
有些人认为它应该基于 UI 显示的元素数量。我不同意这一点,因为并非所有 API 都直接与 UI 链接,并且在任何情况下,现代 REST API 都允许使用可配置参数选择输出批处理中的项目数量,最多可达一定数量。
那么,我们如何定义“HTTP 请求返回的最大元素数”的值呢? 它应该基于有效负载大小吗? API的内部架构?它应该基于绩效衡量吗?
对此有什么见解吗?我并不是真的在寻找一个明确的数字,而是更多一些可以帮助找到答案的技术。对我来说最好的就是一些成功的 API 所遵循的过程。但是,我找不到任何。
最佳答案
我对此的一般方法是:
- 尽量避免分页
- 通过使用
next
和previous
链接(而不是使用?page=
属性),使 REST 客户端能够灵活应对分页更改。 REST 客户端严格通过链接的外观知道另一个页面可用。
我不使用硬性规则或测量来确定何时需要分页。分页通常很痛苦,因此我的第一个方法是尝试找出哪些需求驱动了分页的需求,以及是否可以删除该需求。
一旦我确定无法以其他方式删除此要求,我就会将页面的截止设置为尽可能大,以消除客户端需要执行其他请求的可能性。
关于rest - 分页 REST API : How to select amount of data returned?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53125088/