Назад к вопросам
IT One
Middle
3
Задача REST API: поиск книги в электронной библиотеке по частичным данным (автор, название, год неизвестен), пагинация при большом количестве результатов.
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Для задачи поиска книги в электронной библиотеке по частичным данным (автор, название, год неизвестен) с пагинацией можно спроектировать REST API следующим образом:
-
Параметры запроса:
author(опционально) — часть или полное имя автораtitle(опционально) — часть или полное название книгиyear(опционально) — год изданияpage— номер страницыpageSize— количество результатов на страницу
-
Обработка запроса:
- На сервере формируется запрос к базе данных с фильтрами по переданным параметрам. Если параметр не передан — фильтр не применяется.
- Поиск по частичным данным реализуется через операторы LIKE или полнотекстовый поиск.
-
Пагинация:
- Используется LIMIT и OFFSET (или курсоры) для выборки нужного количества записей.
- В ответе возвращается список книг, а также метаданные: текущая страница, общее количество страниц или общее количество результатов.
-
Пример запроса:
GET /api/books?author=Толстой&title=война&page=2&pageSize=10
- Пример ответа:
{
"page": 2,
"pageSize": 10,
"totalResults": 57,
"books": [
{"id": "123", "title": "Война и мир", "author": "Лев Толстой", "year": 1869},
...
]
}
Такой подход обеспечивает гибкий поиск по неполным данным и удобную навигацию по результатам.