Как правильно собирать все данные из API с помощью подкачки? - PullRequest
0 голосов
/ 03 апреля 2020

Я пытаюсь собрать все данные сразу из этого специфицированного c API: https://docs.nuapay.com/v1/#list -mandates , используя JavaScript, node.js и Loopback Framework.

Однако они используют подкачку страниц, и каждая страница с ответом на мандаты содержит только 20 результатов, а наш API включает более 700 страниц.

В этом случае мне придется выполнить более 700 вызовов API для построения итогового результата.

Каков наилучший метод восстановления результатов для всех страниц без замедления процесса?

Типичный ответ для этого API будет:

{
  "uri" : "/schemes/46pkx7o9n5/mandates",
  "data" : [ {
    "id" : "46pkxn8e9n",
    "uri" : "/schemes/8g3o2yyk2w/mandates/46pkxn8e9n",
    "mandateId" : "BEL000049995012C",
    "debtorName" : "Debtor Name",
    "debtorIBAN" : "GB94SELN00999976543215",
    "debtorMobileNumber" : "0360321312312",
    "mandateStatus" : "PENDING",
    "creationDate" : "2015-07-21"
  }, {
    "id" : "nx9kndaejm",
    "uri" : "/schemes/8g3o2yyk2w/mandates/nx9kndaejm",
    "mandateId" : "BEL000049995012S",
    "debtorName" : "Debtor Name",
    "debtorIBAN" : "GB94SELN00999976543215",
    "debtorMobileNumber" : "0360321312312",
    "mandateStatus" : "ACTIVE",
    "creationDate" : "2015-07-21"
  }, {
    "id" : "vw7kj9gey5",
    "uri" : "/schemes/8g3o2yyk2w/mandates/vw7kj9gey5",
    "mandateId" : "BEL000049995012X",
    "debtorName" : "Debtor Name",
    "debtorIBAN" : "GB94SELN00999976543215",
    "debtorMobileNumber" : "0360321312312",
    "mandateStatus" : "ACTIVE",
    "creationDate" : "2015-07-21"
  } ],
  "page" : {
    "pageNumber" : 1,
    "pageSize" : 20,
    "totalElements" : 3,
    "totalPages" : 1
  },
  "sort" : [ ]
}
...