Skip to content

分页机制

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"

这些链接利用 pageTokenlimitsinceId 参数控制分页查询:

  • pageToken:分页游标,标识特定页面的位置。默认返回首页面数据。
  • limit(可选):每页显示的数据条数,默认为 50,最多可设为 250。
  • sinceId:从特定资源 ID 开始查询,主要用于从特定位置开始分页。

遍历分页

以下示例展示如何查询 Genstore 店铺的所有订单,每页显示 10 条订单:

获取第一页数据

  1. 发送请求以获取订单列表:
bash
GET https://{shop}.genmystore/api/{api_version}/orders?limit=10
  1. 订单列表查询接口会返回第一页的订单数据,同时会在响应头中包含 Link 字段指向下一页:
bash
Link: "<https://{shop}.genmystore/api/{api_version}/orders?pageToken=xNTM4OTA4Mjk1MjExMTI...&limit=10 >; rel=next"

获取下一页数据

  1. 从响应头中获取 Link 字段值,使用 rel=next 链接获取下一页数据:
bash
GET https://{shop}.genmystore/api/{api_version}/orders?pageToken=xNTM4OTA4Mjk1MjExMTI...&limit=10
  1. 响应同样包含上一页和下一页的链接:
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"

获取上一页数据

  1. 使用响应头中的 rel='previous' 链接返回上一页:
bash
GET https://{shop}.genmystore/api/{api_version}/orders?pageToken= eyJzaW5jZUlkIjoiMTYwNTc2NjAxN...&limit=10
  1. 此时,将返回上一页订单数据,响应内容如上。

从特定位置查询

从特定 orderId 开始查询,例如 orderId 10000,每页 10 条数据:

  1. REST API 请求如下:
bash
GET https://{shop}.genmystore/api/{api_version}/orders?pageToken=xNTM4OTA4Mjk1MjExMTI...&limit=10&sinceId=10000
  1. 响应内容如上类似,区别在于是从 orderId 10000 开始查询。