Paginierung

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

Struktur der Connection

Eine paginierte Antwort hat die folgende Struktur:

query {
  someCollection {
    nodes {        # the items on this page
      ...
    }
    pageInfo {     # pagination metadata
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
    }
    totalCount     # total number of items (all pages)
  }
}

Abrufen von Seiten

Verwenden Sie die Argumente first und after, um in einer Sammlung 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 den Wert false hat.

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 zu bestimmen, wie viele Seiten vor Beginn der Paginierung 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-LocalizedKI-lokalisiert
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