API 中的分页是不是应该为零索引?
Posted
技术标签:
【中文标题】API 中的分页是不是应该为零索引?【英文标题】:Should paging be zero indexed within an API?API 中的分页是否应该为零索引? 【发布时间】:2016-06-06 01:07:19 【问题描述】:在实现带有分页参数的 Rest API 时,分页应该是零索引还是从 1 开始。参数是 Page 和 PageSize。
对我来说,从 1 开始是有意义的,因为我们谈论的是页面
【问题讨论】:
所以,使用 1 并正确记录它:) 嗯,是的!这是我讨厌人们在未来几年批评该决定的决策阶段之一!当然,如果有些人喜欢一种方式,而另一些人则喜欢另一种方式。我很高兴选择一些东西并继续使用它! 有数十万个 API 使用数十种不同的方法。只需选择更适合您的方法,然后再次正确记录它。制作一个您喜欢使用的 API。 【参考方案1】:没有标准。看看周围:有成千上万的 API 使用不同的方法。
我知道的大多数 API 都使用以下分页方法之一:
offset
和 limit
或
page
和 size
两者都可以被 0
或 1
索引。哪个更好?这取决于你。
只需选择一个适合您的需求并正确记录它。
此外,您可以在响应负载中提供一些链接,以使页面之间的导航更容易。
例如,假设您正在从第 2 页读取数据。因此,为上一页(第 1 页)和下一页(第 3 页)提供链接:
"data": [
...
],
"paging":
"previous": "http://api.example.com/foo?page=1&size=10",
"next": "http://api.example.com/foo?page=3&size=10"
请记住,始终制作一个您会喜欢使用的 API。
【讨论】:
以上是关于API 中的分页是不是应该为零索引?的主要内容,如果未能解决你的问题,请参考以下文章
Elasticsearch:运用scroll接口对大量数据实现更好的分页