Pagination

L’API Altium 365 utilise une pagination basée sur des curseurs conformément à la spécification de connexion Relay. Les requêtes de collection renvoient un type connection contenant une liste de nœuds, des métadonnées de pagination et des curseurs permettant de naviguer vers l’avant ou vers l’arrière dans les résultats.

Structure de la connexion

Une réponse paginée a la forme suivante :

query {
  someCollection {
    nodes {        # les éléments de cette page
      ...
    }
    pageInfo {     # métadonnées de pagination
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
    }
    totalCount     # nombre total d’éléments (toutes les pages)
  }
}

Récupération des pages

Utilisez les arguments first et after pour paginer vers l’avant dans une collection :

query {
  desProjects(first: 20, after: "{cursor}") {
    nodes {
      id
      name
    }
    pageInfo {
      hasNextPage
      endCursor
    }
  }
}
  • first – nombre d’éléments à renvoyer (taille de page)

  • after – curseur marquant la fin de la page précédente ; à omettre lors de la première requête

La valeur endCursor de pageInfo devient la valeur after pour la page suivante. Continuez jusqu’à ce que hasNextPage soit false.

Pour paginer vers l’arrière, utilisez last et before avec startCursor.

Première requête

Pour la première page, omettez l’argument after :

query {
  desProjects(first: 20) {
    nodes {
      id
      name
      updatedAt
    }
    pageInfo {
      hasNextPage
      endCursor
    }
    totalCount
  }
}

Utilisez totalCount pour déterminer combien de pages prévoir avant de commencer la pagination.

Compter sans récupérer les éléments

Si vous avez seulement besoin du nombre total, vous pouvez omettre nodes entièrement :

query {
  desProjects {
    totalCount
  }
}

 

AI-LocalizedLocalisé par IA
Si vous trouvez un problème, sélectionnez le texte/l’image et appuyez surCtrl + Entréepour nous envoyer vos commentaires.
Contenu