Phân trang
Octopart API sử dụng cơ chế phân trang limit/offset. Không có cursor – bạn điều khiển phạm vi kết quả bằng hai tham số: limit và start.
Tham số
Tham số |
Mặc định |
Tối đa |
Mô tả |
|
10 |
100 |
Số lượng kết quả cần trả về |
|
0 |
1000 |
Độ lệch tính từ 0 trong tập kết quả |
Cách hoạt động
start là độ lệch của mục, không phải số trang. Để lấy một trang cụ thể, hãy nhân chỉ số trang với limit:
start = page * limit (where page 0 is the first page)
Trường hits trong phản hồi trả về tổng số kết quả khớp, có thể lớn hơn số lượng bạn có thể truy xuất. Độ lệch tối đa có thể đạt tới là 1000 – các kết quả vượt quá mức đó sẽ không thể truy cập thông qua phân trang.
Ví dụ
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
}
}
}
}
Phân trang qua các kết quả
Để lặp qua tất cả kết quả, hãy tăng start theo limit cho đến khi bạn đã truy xuất tất cả mục hoặc chạm tới giới hạn độ lệch:
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
Nếu hits vượt quá 1000, các kết quả còn lại sẽ không thể truy cập được thông qua phân trang. Trên thực tế, hãy thu hẹp truy vấn tìm kiếm hoặc áp dụng bộ lọc để giữ tập kết quả trong phạm vi này.