两种分页方案
页大小 + 页号 和 起始位置 + 条数☑
浏览方式
- 初始翻页
- 指定位置(收藏、输入)
- 无限滚动加载
- 改变每页列表项
请求方式
- 元数据,
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?
分页参数。
接下来,我们来看分页参数怎么设计。我们有两种方案:一种是“页大小 + 页号”,一种是“起始位置