Paginazione
L’API di Altium 365 utilizza la paginazione basata su cursore seguendo la specifica di connessione Relay. Le query di raccolta restituiscono un tipo connection contenente un elenco di nodi, metadati di paginazione e cursori per navigare avanti o indietro tra i risultati.
Struttura della connessione
Una risposta paginata ha la seguente struttura:
query {
someCollection {
nodes { # gli elementi in questa pagina
...
}
pageInfo { # metadati di paginazione
hasNextPage
hasPreviousPage
startCursor
endCursor
}
totalCount # numero totale di elementi (tutte le pagine)
}
}
Recupero delle pagine
Usa gli argomenti first e after per scorrere in avanti 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; omettere nella prima richiesta
Il valore endCursor di pageInfo diventa il valore after per la pagina successiva. Continua finché hasNextPage non è false.
Per scorrere all’indietro, usa 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
}
}
Usa totalCount per determinare quante pagine aspettarti prima di iniziare la paginazione.
Conteggio senza recuperare gli elementi
Se ti serve solo il conteggio totale, puoi omettere del tutto nodes:
query {
desProjects {
totalCount
}
}