API页码参数循环

时间:2019-02-19 18:18:15

标签: bash rest shell api command-line

我目前正在尝试使用应用程序的API文档。为了调用它,我使用代码:

curl -X GET \
  'https://api.program.com/v1/notes?page=1&pageSize=1000&sort=desc' \
  -H 'Authorization: Bearer xxx123xxx456xxx789xxx0001' \
  -H 'cache-control: no-cache'

由于明显的原因,此处的令牌已更改。但是我真正要设置的东西涉及page=1参数。我的问题有两个:

  1. 我该如何编写一个命令来捕获其中的所有页面 命令的当前结构?所以基本上,page=1之后 然后将运行page=2page=3等...
  2. 我如何才能通过这种方式还可以识别何时没有剩余的页面,从而知道何时结束运行?

我当前的设置看起来像这样,但是它满足了我的需求:

for ((i=1;i<=5;i++)); do
  curl -X GET \
  'https://api.program.com/v1/notes?page=1&pageSize=1000&sort=desc' \
  -H 'Authorization: Bearer xxx123xxx456xxx789xxx0001' \
  -H 'cache-control: no-cache'
done

没有更多记录时的结果如下:

{
    "meta": {
        "pageSize": 1000,
        "page": 65
    },
    "links": {
        "self": "/v1/conversations?page=65&pageSize=1000&sort=desc",
        "first": "/v1/conversations?page=1&pageSize=1000&sort=desc",
        "prev": "/v1/conversations?page=64&pageSize=1000&sort=desc",
        "next": null
    },
    "data": []
}

0 个答案:

没有答案