通过 Shopify API 获取产品列表时,分页在服务器端如何工作?

use*_*471 3 api shopify

场景:商店有1000种产品;需要全部下载。产品请求每次调用最多 250 个产品,显然 API 可能会也可能不会返回所请求的“限制”。例如,根据我的观察,使用 limit=250 的调用可能会返回少于 250 个项目。因此,要获取 1000 个产品,至少需要 4 次调用。

发出以下请求:

#1  GET /admin/products.xml?limit=250&page=1 (returned the first 250 products 1-250)
#2  GET /admin/products.xml?limit=250&page=2 (returned the next 250 products 251-500)
#3  GET /admin/products.xml?limit=250&page=3 (****returned only 200 products 501-700**)
#4  GET /admin/products.xml?limit=250&page=4 (****what does it return here?**)
Run Code Online (Sandbox Code Playgroud)

所以,问题是关于服务器上的分页,这将定义上面第 4 行中发生的情况:

1) API 是否执行智能分页,其中它知道先前的请求仅返回 200 个产品,因此下一页必须返回以产品编号 701 开头的列表?

或者

2) 它是否执行盲分页,其中第 4 页的请求将始终以产品编号 751 开始,无论上次调用发生了什么?

vik*_*sde 5

使用 /admin/products/count.json 获取所有产品的数量。然后将该数字除以 250 即可得到总页数。