Comment puis-je extraire l'en-tête X-pagination d'une réponse et utiliser le lien suivant pour chaîner les demandes ?

J'ai essayé dans le stand Postman et l'application console C# avec RestSharp. Sans succès.

Le plus simple serait une petite application console à tester. J'ai juste besoin de parcourir les pages.

Voici ce que je récupère dans les en-têtes X-Pagination :

{"Page":1,"PageSize":20,"TotalRecords":1700,"TotalPages":85,"PreviousPageLink":"","NextPageLink":"www......./api/products/configurations?Filters=productid=318&IncludeApplicationPerformance=true&page=1","GotoPageLinkTemplate":"www..../api/products/configurations?Filters=productid=318&IncludeApplicationPerformance=true&page=0"}
0
Lucas 20 nov. 2019 à 10:50

1 réponse

Meilleure réponse

Dans Postman, vous récupérez simplement l'en-tête, l'analysez dans un objet Json, puis utilisez la valeur pour définir un lien pour votre prochaine demande.

Faites votre demande initiale puis dans l'onglet Test faites quelque chose comme :

var nextPageLinkJson = JSON.parse(pm.response.headers.get("X-Pagination"));
var nextPageLink = nextPageLinkJson.NextPageLink;
pm.environment.set("nextPageLink", nextPageLink);

Si vous ne savez pas combien de pages vous allez avoir, vous devrez jouer avec les conditions quand définir la variable nextPageLink et quoi non, mais c'est l'idée générale.

Vous pouvez également définir la requête à exécuter en utilisant le nouveau lien avec postman.setNextRequest("request_name").

De plus, cette approche ne fonctionnera que dans le coureur de collection.

0
so cal cheesehead 20 nov. 2019 à 15:59