04-28-2021 11:21 AM
Hello,
I am trying to call a rest get API with some pagination. The API returns the next page URL within the response, so i should be able to use this in the snap.
I am getting the value using JSON Path seen here in a mapper as an example:
I use this same JSON path in the Next URL:
Unfortunately, the snap does not call for the next page. I can only assume it sees the value as null?
Any help would be appreciated.
Many thanks
Solved! Go to Solution.
04-28-2021 01:12 PM
I believe the main issue is jsonPath is returning an array, so for Next URL you will need to index it with [0].
jsonPath($, "$entity.links[?(@.rel=='next-page')].href")[0]
And with it producing an array, a more appropriate Has next condition might be to check for the array length > 0. (Yet I suspect it will work as-is in this specific use case.)
jsonPath($, "$entity.links[?(@.rel=='next-page')].href").length > 0
04-28-2021 01:12 PM
I believe the main issue is jsonPath is returning an array, so for Next URL you will need to index it with [0].
jsonPath($, "$entity.links[?(@.rel=='next-page')].href")[0]
And with it producing an array, a more appropriate Has next condition might be to check for the array length > 0. (Yet I suspect it will work as-is in this specific use case.)
jsonPath($, "$entity.links[?(@.rel=='next-page')].href").length > 0
04-29-2021 03:54 AM
Amazing. Thanks Del that worked perfectly. I’ve marked as resolved,