【问题标题】:How to paginate through API request in Postman如何在 Postman 中通过 API 请求进行分页
【发布时间】:2020-09-17 21:38:28
【问题描述】:
我正在寻求有关如何通过 BigCommerce API 请求进行分页以获取所有订单的帮助。默认情况下,此 API 端点一次为您提供 50 条记录。我可以添加一个查询参数以将其增加到 250,但 API 中没有任何内容说明有多少总订单。我需要继续运行这个请求并将响应转储到一个大的 JSON 文件中,以便我可以上传这些数据。问题是没有办法知道有多少订单,所以无法填写页面查询参数。任何帮助将不胜感激,谢谢!
【问题讨论】:
标签:
api
loops
postman
bigcommerce
【解决方案1】:
在不知道或看到任何关于 API 的情况下,也不知道您熟悉哪些语言,我建议您可以编写一个小脚本,该脚本可以像 while 循环一样简单,等待结果并添加将它们保存到您要保存的数组中。当 API 没有返回更多结果时,您知道停止循环,然后您可以将数组保存到 JSON 文档中。
例如,使用 Node.js,您可以执行以下操作:
const fs = require('fs').promises;
let results = true;
let AllResults = [];
try {
do {
let result = await https://api-url // call api
if (result.length > 0) AllResults.push(result)
else results = false
} while (!!results);
await fs.writeFile('filename.txt', AllResults);
} catch (err) {
errorHandler(err)
}
这只是快速编写的示例,但希望可以为您提供可能的解决方案
【解决方案2】:
不幸的是,orders api 仍然是 V2 api,因此它没有 V3 api 返回的元对象,可以为您提供此信息。
您可以从 /orders/count 端点找到订单总数,但这可能不是必需的,我只会增加 page 参数,直到您收到 204 No Content 响应(没有订单在里面)