Paginacja

Interfejs API Altium 365 używa paginacji opartej na kursorach zgodnie ze specyfikacją połączeń Relay connection specification. Zapytania o kolekcje zwracają typ connection zawierający listę węzłów, metadane paginacji oraz kursory do poruszania się do przodu lub do tyłu po wynikach.

Struktura połączenia

Odpowiedź stronicowana ma następującą postać:

query {
  someCollection {
    nodes {        # elementy na tej stronie
      ...
    }
    pageInfo {     # metadane paginacji
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
    }
    totalCount     # łączna liczba elementów (wszystkie strony)
  }
}

Pobieranie stron

Użyj argumentów first i after, aby przechodzić do przodu przez kolekcję:

query {
  desProjects(first: 20, after: "{cursor}") {
    nodes {
      id
      name
    }
    pageInfo {
      hasNextPage
      endCursor
    }
  }
}
  • first – liczba elementów do zwrócenia (rozmiar strony)

  • after – kursor oznaczający koniec poprzedniej strony; pomiń przy pierwszym żądaniu

Wartość endCursor z pageInfo staje się wartością after dla następnej strony. Kontynuuj, aż hasNextPage będzie miało wartość false.

Aby przechodzić do tyłu, użyj last i before wraz z startCursor.

Pierwsze żądanie

Dla pierwszej strony pomiń argument after:

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

Użyj totalCount, aby określić, ilu stron należy się spodziewać przed rozpoczęciem paginacji.

Zliczanie bez pobierania elementów

Jeśli potrzebujesz tylko łącznej liczby, możesz całkowicie pominąć nodes:

query {
  desProjects {
    totalCount
  }
}

 

AI-LocalizedTłumaczenie SI
Jeśli znajdziesz błąd, zaznacz tekst/obraz i naciśnij Ctrl + Enter aby wysłać nam wiadomość.
Content