API 设计——分页

本文讨论了API设计中的分页策略,推荐使用“起始位置 + 条数”而非“页大小 + 页号”。解释了为何后者更适应前端的无限滚动加载和数据库查询。还提到了命名规范,状态码的使用,以及通过响应头传递分页元数据的方法。建议将元数据和列表分开请求以减轻服务器压力。
摘要由CSDN通过智能技术生成

两种分页方案

页大小 + 页号起始位置 + 条数

浏览方式

  • 初始翻页
  • 指定位置(收藏、输入)
  • 无限滚动加载
  • 改变每页列表项

请求方式

  • 元数据,HEAD/archive,响应头,X-TAG-NAME,调用一次前端本地存储
  • 条目列表, GET/archive
  • 频繁更新的数据,元数据与列表数据合一;抑或添加定时任务以 HEAD 模式请求

分页 API 设计

如果要取得资源列表,往往会遇到一个问题:分页,这时候的 API 该如何设计呢?以 RESTful API 为例来分析。

先打开 https://api.github.com/?,找到 repository_search_url "https://api.github.com/search/repositories?q={query}{&page,per_page,sort,order}"

这里第一个问题是 URI 的设计,我们分页时,分页信息其实是查询参数,不应该成为 URI 的一部分。因此,我们得到 repositories? 分页参数。

接下来,我们来看分页参数怎么设计。我们有两种方案:一种是“页大小 + 页号”,一种是“起始位置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值