12-12-2018 07:36 AM
Hello,
I am trying to load transaction data from a REST API end point. The API has pagination as required Input parameter. I am using the REST GET to fetch the data and the Https URL should be as below.
https://xxxxxx–xxx/transactions?datestart=2018-11-19T00:00:00&dateend=2018-11-20T00:00:00&pageSize=1000&pageNo=1.
I am trying to design a process which loops thru till the REST API call returns null data set.
For example, if the above REST URL gives output, I have to call the same URL again with the pageNo input parameter as 2 and if it provides a data set, then 3 and on and on. The loop has to end when the REST API comes out with a null data.
Any help to solve this would be highly appreciated and also would like to know if looping is the only option and right approach.
Thanks
Aravind N
12-17-2018 11:44 AM
can you share the JSON output of this REST GET without pagination?
The best way to design “has next” and “next URL” I found is to use a mapper after REST GET to come up with an expression that will give you true for “has next” and next page URL for “next URL”. Once you figure those out then just copy those expressions back to the REST GET configuration.
12-17-2018 12:29 PM
I am able to get the condition which returns true if data exists for “Has next” which is “jsonPath($, “$entity.Items[*]”).length > 0”.
The “Next URL” has the correct URL, but is not triggering the URL as it is loading only the data for the Page = 1. The basic URL has the key at the header level. Does the Next URL attribute need to also have the key mentioned?
12-17-2018 01:18 PM
Not for HTTP Header. Have you tried to place a static URL for page 2 and see if it works?
12-17-2018 01:23 PM
I tried the Next URL with static URL to fetch the page 2, but it is not loading after the Page 1 data.
12-17-2018 01:38 PM
which means your “has Next” is false.
Can you share the entire JSON output from “Download” from the output view?