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 都使用以下分页方法之一:

offsetlimitpagesize

两者都可以被 01 索引。哪个更好?这取决于你。

只需选择一个适合您的需求并正确记录它


此外,您可以在响应负载中提供一些链接,以使页面之间的导航更容易。

例如,假设您正在从第 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接口对大量数据实现更好的分页

Spring Boot 版本 2.0.3.RELEASE 中的分页不起作用

鹡鸰中的分页

SQL Server 查询性能优化——创建索引原则

Spring Data JPA 中的分页(限制和偏移)

未使用 EF 的视图的分页