Sobes.tech
Назад к вопросам
Middle+
2

Спроектируй сервис для отображения пагинированного списка ТМЦ: входные параметры, выходные параметры, логика работы.

Компании, где спрашивали
СБЕРСБЕР

Ответ от нейросети

sobes.tech AI

Для сервиса отображения пагинированного списка ТМЦ (товарно-материальных ценностей) можно определить следующий интерфейс:

Входные параметры:

  • page (int) — номер страницы, начиная с 1
  • pageSize (int) — количество элементов на странице
  • (опционально) sortBy (string) — поле сортировки, например, "название" или "дата"
  • (опционально) sortOrder (string) — "asc" или "desc"
  • (опционально) фильтры, например, по категории, наличию, цене

Выходные параметры:

  • items — массив объектов ТМЦ с нужными полями (id, название, количество, цена и т.д.)
  • totalItems — общее количество ТМЦ, подходящих под фильтры
  • totalPages — общее количество страниц
  • currentPage — текущий номер страницы

Логика работы:

  1. Получаем параметры запроса.
  2. Валидируем параметры (page > 0, pageSize в разумных пределах).
  3. Формируем запрос к базе данных с учетом фильтров и сортировки.
  4. Считаем общее количество элементов для пагинации.
  5. Получаем данные для текущей страницы с помощью LIMIT и OFFSET (или аналогов).
  6. Формируем ответ с данными и метаинформацией о пагинации.

Пример упрощенного 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
}