Sobes.tech
Middle

Există un site cu cărți PDF. Pentru a obține PDF-ul, sunt necesari trei parametri: autor, an și titlu. Utilizatorii își amintesc fie titlul, fie autorul. Cum ai organiza pagina de căutare și ce API ai folosi pentru a obține PDF-ul?

sobes.tech AI

Răspuns de la AI

Для страницы поиска я бы реализовал два поля ввода: одно для автора, другое для названия книги. Пользователь может заполнить любое из них или оба. Год можно не запрашивать явно, так как он служит дополнительным фильтром и может быть выбран из результатов.

Поиск будет работать так:

  • Если введено название, поиск по названию.
  • Если введён автор, поиск по автору.
  • Если введены оба параметра, поиск по обоим.

Результатом будет список книг с краткой информацией (автор, название, год), из которого пользователь выбирает нужную книгу.

API для получения PDF:

GET /api/books/pdf?author={author}&year={year}&title={title}

Параметры:

  • author — строка, необязательный
  • year — число, обязательный (можно получить из выбранной книги)
  • title — строка, обязательный

Если пользователь выбрал книгу из списка, фронтенд знает все три параметра и может запросить PDF напрямую. Если пользователь вводит параметры вручную, API должен валидировать наличие всех трёх параметров.

Такой подход обеспечивает удобство поиска и точность при получении PDF.