сюда возникает вопрос, если на фронте высчитывать нужный отступ и лимит и слать на api что то вроде /items?limit=20&offset=100, то это конечно хорошо, но на фронте мне нужно отобразить общее кол-во станиц, это мне че с api вместе с данными слать общее число элементов в таблице ? или вообще слать на api что то типа /items?page=5, а на сервере вычислять нужный отступ и лимит, как по нормальному организовать пагинацию ?
Что должен делать /items?page=5 ?
Ну да тебе count по сути от сервера нужен (на фронте посчитаешь сколько это страниц, если у тебя не скролл с прогрузкой), а серверу limit и offset от фронта нужен На сервере вычислять для фронта (пытаясь учесть сколько нужно на странице) пожалуй не имеет смысла
Ну у нас раньше на api была константа per_page=..., клиент шлет запрос /items?page=5, далее вычислялись данные нужной страницы и отдавались на клент, (ну типа вычислялись offset=page*(per_page-1) и limit=per_page на основе page который в запросе пришел) и отдавались данные {'data': [...], pagination: {'totalPages': ..., currentPage: ..., ну и остальные мета данные }} но этот подход мне перестал нравиться, не по рестовски как то выглядит
Ну да оно как то криво, тк почему бы не иметь разные размеры (upd речь о количестве пунктов) страницы в браузере для телефона и компа к примеру
да, но слать count вместе с данными с api это норм ?
Обсуждают сегодня