Pagination

Pagination — базовая инфраструктура для постраничного представления данных


Базовая инфраструктура для постраничного представления данных позволяет унифицировать работу со списками по всему проекту Telecom на стороне BE и FE.
Так же позволяет на стороне BE работать только с методами базового репозитория BaseRepository<TEntity> (без разбухания кодовой базы) для генерации ответа.

Используя метод Task<PaginationResult<TEntity>> GetAll([NotNull] PaginationQuery paginationQuery, bool noTracking = false);

Реализация: Common.Pagination
В реализации, будет поиск по полям сущности отмеченной атрибутом QuickFilterAttribute

Запрос

ПолеОписаниеТипОбязательностьПо умолчаниюОграничения
pageНомер страницычисловойнет1
pageSizeРазмер страницычисловойнет25Максимум 100
filterСтрока поискатекстовоенет
filterByПоле для поискатекстовоенет
orderByПоле для сортировкитекстовоенетбез сортировкисуществующее поле БД коллекции
sortНаправление сортировкитекстовоенетбез сортировкиasc/desc

 
Пример запроса:

/account/roles/?page=1&pageSize=10

/account/roles/?filter=Спец&page=1&pageSize=10

/account/roles/?filter=Спец&page=1&pageSize=10&orderBy=title&sort=desc

Ответ

ПолеОписаниеТип
itemsМассив данныхмассив
pageInfoИнформация о страницекласс

Описание типа PageInfo

ПолеОписаниеТипОбязательность
pageНомер страницычисловойда
pageSizeРазмер страницычисловойда
totalPageВсего страницчисловойда
totalItemВсего найденных элементовчисловойда
filterСтрока поискатекстовоенет
filterByПоле для поискатекстовоенет
orderByПоле для сортировкитекстовоенет
sortНаправление сортировкитекстовое (asc/desc)нет

Пример ответа:

{"items": [{"name""FinancialExpert","title""Финансовый специалист","id""592c27710e81e6b8b06a6b05"},{"name""TransportExpert","title""Транспортный специалист","id""592c27710e81e6b8b06a6b03"},{"name""TechnicalExpert","title""Технический специалист","id""592c27710e81e6b8b06a6b04"}],"pageInfo": {"page": 3,"pageSize": 10,"totalPage": 3,"totalItem": 23,"filter""спец","filterBy""title","orderBy""title","sort""Desc"}

Добавить комментарий