Пагинация
API Octopart использует пагинацию limit/offset. Курсоров нет — вы управляете окном результатов с помощью двух параметров: limit и start.
Параметры
Параметр |
По умолчанию |
Максимум |
Описание |
|
10 |
100 |
Количество возвращаемых результатов |
|
0 |
1000 |
Смещение в наборе результатов с отсчетом от нуля |
Как это работает
start — это смещение элементов, а не номер страницы. Чтобы получить конкретную страницу, умножьте индекс страницы на limit:
start = page * limit (where page 0 is the first page)
Поле hits в ответе возвращает общее количество совпадающих результатов, которое может быть больше числа результатов, доступных для получения. Максимально достижимое смещение — 1000; результаты за этим пределом недоступны через пагинацию.
Примеры
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
}
}
}
}
Постраничный перебор результатов
Чтобы перебрать все результаты, увеличивайте start на limit, пока не получите все элементы или не достигнете предела смещения:
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
Если hits превышает 1000, оставшиеся результаты недоступны через пагинацию. На практике стоит сузить поисковый запрос или применить фильтры, чтобы набор результатов оставался в допустимых пределах.