Paginacja
Octopart API używa stronicowania typu limit/offset. Nie ma kursorów — kontrolujesz zakres wyników za pomocą dwóch parametrów: limit i start.
Parametry
Parametr |
Domyślnie |
Maksimum |
Opis |
|
10 |
100 |
Liczba wyników do zwrócenia |
|
0 |
1000 |
Przesunięcie oparte na zerze w zbiorze wyników |
Jak to działa
start to przesunięcie elementów, a nie numer strony. Aby pobrać konkretną stronę, pomnóż indeks strony przez limit:
start = page * limit (where page 0 is the first page)
Pole hits w odpowiedzi zwraca łączną liczbę pasujących wyników, która może być większa niż liczba wyników możliwych do pobrania. Maksymalne osiągalne przesunięcie to 1000 — wyniki poza tym zakresem nie są dostępne przez stronicowanie.
Przykłady
Return 15 results from the beginning:
query FirstPage {
supSearchMpn(q: "acs770", limit: 15) {
hits
results {
part {
id
mpn
}
}
}
}
Return the next page (items 15–29):
query SecondPage {
supSearchMpn(q: "acs770", limit: 15, start: 15) {
hits
results {
part {
id
mpn
}
}
}
}
Przechodzenie przez strony wyników
Aby iterować po wszystkich wynikach, zwiększaj start o limit, aż pobierzesz wszystkie elementy albo osiągniesz limit przesunięcia:
page 0: start=0, limit=100
page 1: start=100, limit=100
page 2: start=200, limit=100
...
page 9: start=900, limit=100 ← last reachable page at max limit
Jeśli hits przekroczy 1000, pozostałe wyniki nie będą dostępne przez stronicowanie. W praktyce warto zawęzić zapytanie wyszukiwania lub zastosować filtry, aby utrzymać zbiór wyników w tym zakresie.