Вы должны использовать нумерацию страниц.Таким образом, возможный вызов выборки может быть:
/api/trace?id=${task.ID}&page=1&per_page=20
Это означает, что вы хотите получить первые 20 результатов из базы данных.
/api/trace?id=${task.ID}&page=2&per_page=20
Это означает, что вы хотите всегда получать 20 результатов, начиная с 21-го.строка набора результатов из базы данных).
Итак, page
позволит вам создать смещение для запроса к базе данных.
Смещение определяется в вашем бэкэнде следующим образом:
offset = page * per_page - per_page.
Итак, согласно переданным параметрам выборки, вВо втором примере, который я привел, смещение будет:
смещение = 2 * 20 - 20 = 20
В этом случае ваш запрос к базе данных должен быть:
SELECT ....
.....
LIMIT 20 OFFSET 20;
(я хочу получить 20 результатов из 21-й строки набора результатов из базы данных)
Конечно, ваш интерфейс должен знать мощность всего набора результатов без каких-либо ограничений из бэкэнда, чтобы создатьструктура пагинации.Таким образом, для каждой выборки ваш сервер должен отправлять ожидаемые строки из базы данных и итоговые записи запроса без каких-либо ограничений.