Sobes.tech
Middle

Istnieje strona z książkami w formacie PDF. Aby uzyskać PDF, potrzebne są trzy parametry: autor, rok i tytuł. Użytkownicy pamiętają albo tytuł, albo autora. Jak zorganizujesz stronę wyszukiwania i jakiego API użyjesz do pobrania PDF?

sobes.tech AI

Odpowiedź od AI

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

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

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

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

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

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

Параметры:

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

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

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