Назад к вопросам
СБЕР
Middle+
2
Спроектируй сервис для отображения пагинированного списка ТМЦ: входные параметры, выходные параметры, логика работы.
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Для сервиса отображения пагинированного списка ТМЦ (товарно-материальных ценностей) можно определить следующий интерфейс:
Входные параметры:
page(int) — номер страницы, начиная с 1pageSize(int) — количество элементов на странице- (опционально)
sortBy(string) — поле сортировки, например, "название" или "дата" - (опционально)
sortOrder(string) — "asc" или "desc" - (опционально) фильтры, например, по категории, наличию, цене
Выходные параметры:
items— массив объектов ТМЦ с нужными полями (id, название, количество, цена и т.д.)totalItems— общее количество ТМЦ, подходящих под фильтрыtotalPages— общее количество страницcurrentPage— текущий номер страницы
Логика работы:
- Получаем параметры запроса.
- Валидируем параметры (page > 0, pageSize в разумных пределах).
- Формируем запрос к базе данных с учетом фильтров и сортировки.
- Считаем общее количество элементов для пагинации.
- Получаем данные для текущей страницы с помощью LIMIT и OFFSET (или аналогов).
- Формируем ответ с данными и метаинформацией о пагинации.
Пример упрощенного API:
GET /api/tmc?page=2&pageSize=20&sortBy=name&sortOrder=asc
Response:
{
"items": [
{"id": 101, "name": "Товар А", "quantity": 50},
...
],
"totalItems": 150,
"totalPages": 8,
"currentPage": 2
}