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
  }
}

 

AI-LocalizedLocalizzato tramite A
Se trovi un problema, seleziona il testo/l’immagine e premi Ctrl + Invio per inviarci il tuo feedback.
Contenuto