分页机制
Genstore REST API 请求通过游标分页方式进行数据访问。本指南将详细介绍如何使用游标分页查询数据,以及如何逐页访问数据。
分页机制
当应用请求支持分页的 API 时,默认返回第一页数据。若存在多页数据,响应头(Http Response Header
)将包含指向下一页和上一页的链接,可通过这些链接遍历数据结果。
TIP
pageToken
为可选配置,默认返回首页数据。- 包含
pageToken
的请求不能添加除limit
外的其他业务参数。如需添加,请在查询首页面时进行。 - 响应头中的
Link
是临时生成的,不应保存用于后续查询。
响应头链接示例
响应头中的链接示例如下:
bash
Link: "< https://{shop}.genmystore/api/{api_version}/customers?pageToken={pageToken}&limit={limit} >; rel=previous, < https://{shop}.genmystore/api/{api_version}/customers?pageToken=opqrstu&limit=3 >; rel=next"
这些链接利用 pageToken
、limit
和 sinceId
参数控制分页查询:
pageToken
:分页游标,标识特定页面的位置。默认返回首页面数据。limit
(可选):每页显示的数据条数,默认为 50,最多可设为 250。sinceId
:从特定资源 ID 开始查询,主要用于从特定位置开始分页。
遍历分页
以下示例展示如何查询 Genstore 店铺的所有订单,每页显示 10 条订单:
获取第一页数据
- 发送请求以获取订单列表:
bash
GET https://{shop}.genmystore/api/{api_version}/orders?limit=10
- 订单列表查询接口会返回第一页的订单数据,同时会在响应头中包含
Link
字段指向下一页:
bash
Link: "<https://{shop}.genmystore/api/{api_version}/orders?pageToken=xNTM4OTA4Mjk1MjExMTI...&limit=10 >; rel=next"
获取下一页数据
- 从响应头中获取
Link
字段值,使用rel=next
链接获取下一页数据:
bash
GET https://{shop}.genmystore/api/{api_version}/orders?pageToken=xNTM4OTA4Mjk1MjExMTI...&limit=10
- 响应同样包含上一页和下一页的链接:
bash
Link: "< https://{shop}.genmystore/api/{api_version}/orders?pageToken= eyJzaW5jZUlkIjoiMTYwNTc2NjAxN...&limit=10 >; rel=previous, < https://{shop}.genmystore/api/{api_version}/orders?pageToken=ODgiLCJkaXJlY3Rpb24iOiJu...&limit=10 >; rel=next"
获取上一页数据
- 使用响应头中的
rel='previous'
链接返回上一页:
bash
GET https://{shop}.genmystore/api/{api_version}/orders?pageToken= eyJzaW5jZUlkIjoiMTYwNTc2NjAxN...&limit=10
- 此时,将返回上一页订单数据,响应内容如上。
从特定位置查询
从特定 orderId
开始查询,例如 orderId
10000,每页 10 条数据:
- REST API 请求如下:
bash
GET https://{shop}.genmystore/api/{api_version}/orders?pageToken=xNTM4OTA4Mjk1MjExMTI...&limit=10&sinceId=10000
- 响应内容如上类似,区别在于是从
orderId
10000 开始查询。