Paginierung

Die Altium 365 API verwendet eine cursorbasierte Paginierung gemäß der Relay-Connection-Spezifikation. Collection-Abfragen geben einen connection-Typ zurück, der eine Liste von Knoten, Metadaten zur Paginierung und Cursor zur Navigation vorwärts oder rückwärts durch die Ergebnisse enthält.

Connection-Struktur

Eine paginierte Antwort hat die folgende Form:

query {
  someCollection {
    nodes {        # die Elemente auf dieser Seite
      ...
    }
    pageInfo {     # Metadaten zur Paginierung
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
    }
    totalCount     # Gesamtzahl der Elemente (alle Seiten)
  }
}

Abrufen von Seiten

Verwenden Sie die Argumente first und after, um in einer Collection vorwärts zu blättern:

query {
  desProjects(first: 20, after: "{cursor}") {
    nodes {
      id
      name
    }
    pageInfo {
      hasNextPage
      endCursor
    }
  }
}
  • first – Anzahl der zurückzugebenden Elemente (Seitengröße)

  • after – Cursor, der das Ende der vorherigen Seite markiert; bei der ersten Anfrage weglassen

Der endCursor aus pageInfo wird zum Wert after für die nächste Seite. Fahren Sie fort, bis hasNextPage false ist.

Um rückwärts zu blättern, verwenden Sie last und before zusammen mit startCursor.

Erste Anfrage

Lassen Sie für die erste Seite das Argument after weg:

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

Verwenden Sie totalCount, um vor Beginn der Paginierung zu bestimmen, wie viele Seiten zu erwarten sind.

Zählen ohne Abrufen von Elementen

Wenn Sie nur die Gesamtanzahl benötigen, können Sie nodes vollständig weglassen:

query {
  desProjects {
    totalCount
  }
}

 

AI-LocalizedAI-localized
Wenn Sie ein Problem feststellen, wählen Sie den Text/das Bild aus und drücken SieStrg + Eingabe, um uns Ihr Feedback zu senden.
Inhalt