API 中的分页是否应为零索引?

Should paging be zero indexed within an API?

在实现带有分页参数的 Rest API 时,分页应该从零索引还是从 1 开始。参数将是 Page 和 PageSize。

对我来说,从 1 开始比较合理,因为我们讨论的是页数

没有标准。环顾四周:有成千上万的 API 使用不同的方法。

我知道的大多数 API 都使用以下方法之一进行分页:

  • offsetlimit
  • pagesize

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

只需选择适合您需要的那个,然后正确记录它


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

例如,假设您正在从第 2 页读取数据。因此,为上一页(第 1 页)和下一页(第 3 页)提供 link:

{
    "data": [
        ...
    ],
    "paging": {
        "previous": "http://api.example.com/foo?page=1&size=10", 
        "next": "http://api.example.com/foo?page=3&size=10" 
    }
}

记住,永远做一个API会喜欢用的。