0: Пришла пора написать наш 1 запрос через эскью алхимию и создать наш эндпоинт. 1 полноценный, который будет отдавать список бронирований для пользователя. Заодно мы посмотрим, какие проблемы и задачи у нас возникают по ходу дела. Давай
1: В Папке букингс, которая отвечает именно за бронирование, создадим новый файл и назовём его роутер точка пай. Сейчас мы посмотрим, что такое роутер. У нас есть эндпоинты. Помните, мы писали
2: В main пай у нас был эндпоинт на отели. У нас был эндпоинт на букинге, и они были все в 1 файле. Понятное дело, что у нас так не будет, потому что у нас будет их там с десяток, и одни отвечают за отели, за добавление удаление, просмо.
3: Другие отвечают за бронирование, также удаление, просмотр добавления и лучше бы их как-то агрегировать в отдельные группы. Для этого есть роутеры. Давайте импортируем из фастапи роутер и посмотрим, что это такое. На самом деле ничего сложного нету.
4: Мы импортируем что-то, я тут заговорился, импортируем апи роутер и создаём просто переменную. Она будет называться роутер. Ну или назвать можно как угодно. Ой ой, ой, апи роутер и здесь важно задать ему пару параметров. 1.
5: Это префикс, который будет перед всеми эндпоинтами находиться. Сейчас мы посмотрим, как это будет выглядеть. Допустим, у нас будет это smash букингс и также прописать тегс. Теги это, по сути, просто название этого роутера и
6: И объединение этих роутеров в некоторую группу в документации сваггер опен апи, которой мы пользуемся здесь можно как-нибудь красивенько написать там букингс или давайте по-русски напишем бронирование, нам никто не запрещает по-русски здесь написать.
7: И теперь можно этим роутером пользоваться. Если раньше мы писали декоратор эп точка гет эп точка пост. Сейчас мы просто пишем декоратор роутер точка гет. И допустим, здесь будет у нас 1 запрос. Без какого
8: Какого-либо пути, да, обращу, обращу ваше внимание, что у нас дописывается автоматически к каждому эндпоинту. Вот такая тема, такая строчка.
9: Здесь у нас будет, соответственно, просто smash, букингс да, роутер на получение букингов. Давайте так его и назовём. Гет букингс. Пока что здесь будет ничего, пас. И у нас будет ещё какой-нибудь роутер, просто чтобы показать, точнее какой-нибудь эндпоинт, чтобы показать, как работает.
10: Этот роутер здесь будет, например, по идентификатору какому-то мы хотим получить наш букинг, так его и назовём, допустим, букинг айди сюда передадим и тоже будет функция ничего не отдавать. Сохраним. И пока у нас
11: Ничего не изменилось, потому что у нас файлик main и приложение app не видит, что такой роутер существует. Да, здесь то мы прям в этом файле задавали, а тут нам надо вручную прописать, импортировать вот этот роутер, у нас файл называется app букингс роутер.
12: Из app букингс роутер мы импортируем роутер, причём у нас таких роутер переменных будет довольно много, поэтому давайте дадим им некоторый псевдоним или элиас пишется через s роутер и назовём его, например, букинг.
13: Вот так, нижним подчёркиванием. Дальше достаточно после объявления эп обратиться к нему к методу инклуд роутер, то есть вставить роутер прикрепить роутер роутер букингс. Таким образом, к нашему приложению просто добавится набор вот этих эндпоинтов на полу.
14: Учение букингов. Ну и тут че-нибудь вот так назовём, чтобы все было хорошо. У нас ювикорн запущен с авторелода, с автоперезагрузка, поэтому давайте сейчас зайдём. Ой, ой, ой, спойлеры, зай.
15: Идём сюда и увидим. У нас добавилась новая категория. У нас был раньше дефолт, появилось бронирование, уже как-то более солидно, красиво. И здесь эндпоинты, которые вот в этом роутере как раз и находятся что-то на получение букингов и что-то на получение
16: Конкретного Букинга, там можно указать айдишник, причём префикс автоматически добавляется. Это очень удобно, не