Paginazione
L'API di Altium 365 utilizza una paginazione basata su cursore, seguendo la specifica Relay connection. Le query sulle raccolte restituiscono un tipo connection che contiene un elenco di nodi, metadati di paginazione e cursori per navigare in avanti o all'indietro tra i risultati.
Struttura della connessione
Una risposta paginata ha la seguente struttura:
query {
someCollection {
nodes { # the items on this page
...
}
pageInfo { # pagination metadata
hasNextPage
hasPreviousPage
startCursor
endCursor
}
totalCount # total number of items (all pages)
}
}
Recupero delle pagine
Utilizza gli argomenti first e after per scorrere in avanti in una raccolta:
query {
desProjects(first: 20, after: "{cursor}") {
nodes {
id
name
}
pageInfo {
hasNextPage
endCursor
}
}
}
-
first– numero di elementi da restituire (dimensione della pagina) -
after– cursore che indica la fine della pagina precedente; omettilo nella prima richiesta
Il endCursor di pageInfo diventa il valore after per la pagina successiva. Continua finché hasNextPage non è false.
Per scorrere all'indietro, utilizza last e before con startCursor.
Prima richiesta
Per la prima pagina, ometti l'argomento after:
query {
desProjects(first: 20) {
nodes {
id
name
updatedAt
}
pageInfo {
hasNextPage
endCursor
}
totalCount
}
}
Utilizza totalCount per determinare quante pagine aspettarti prima di iniziare la paginazione.
Conteggio senza recuperare elementi
Se hai bisogno solo del conteggio totale, puoi omettere completamente nodes:
query {
desProjects {
totalCount
}
}