Cas d'un service web avec pagination

Last modified by Aurelie Bertrand on 2024/05/07 10:43

Certaines API REST avec pagination dans les wlnks sont prises en charge.

Prérequis

Les conditions suivantes sont requises :

  • L'API de pagination doit utiliser un paramètre get donnant le numéro de page, par exemple : https://myapi.com/items?page=1
  • Si vous dépassez la dernière page, il faut que l'API renvoie soit un code d'erreur (par exemple 404 ou 400), soit une réponse avec un corps vide.

Il n'est pas possible d'obtenir un sous-ensemble de pages.

Configuration

Lors de la création du wlnk, le numéro de page doit être remplacé par %page ou %page0.
Par exemple, pour l'URL donnée ci-dessus, l'URL wlnk doit être :

  • https://myapi.com/items?page=%page si le numéro de page commence à 1
    — ou —
  • https://myapi.com/items?page=%page0 si le numéro de page commence à 0

Selon le type de données renvoyées, les données devront être concaténées différemment. Plusieurs méthodes de concaténation sont disponibles :

  • json.mergelists : chaque page est traitée comme une liste JSON. Elles sont fusionnées afin d'obtenir une seule liste contenant toutes les données de chaque page.
  • csv.firstrowasheader : la première ligne de toutes les pages après la première est supprimée. Cette méthode est utile si les données sont au format CSV et que l'en-tête des noms de colonnes est envoyé sur chaque page.
  • xml.addroottag : les données XML combinées de toutes les pages sont entourées avec une balise spécifique.
    Le nom de la balise est wlnkroottag par défaut mais peut être remplacé en ajoutant un en-tête avec le nom WLNKXMLROOTTAG qui donne la valeur souhaitée.

 La méthode de concaténation est définie dans l'en-tête HTTP.

ℹ Si aucun en-tête WLNKCONCATMETHOD n'est fourni, les données sont simplement concaténées.

  1. Cliquez sur le bouton En-têtes HTTP...
  2. Dans le champ Nom, entrez WLNKCONCATMETHOD.
  3. Dans le champ Valeur, entrez le nom de la méthode souhaitée.
    En-têtes HTTP