Pagination

L’API Altium 365 utilise une pagination basée sur des curseurs conformément à la spécification de connexion Relay. Les requêtes sur des collections 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 {        # the items on this page
      ...
    }
    pageInfo {     # pagination metadata
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
    }
    totalCount     # total number of items (all 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

Le 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 attendre avant de commencer la pagination.

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

Si vous avez uniquement besoin du nombre total, vous pouvez omettre complètement nodes :

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