3 сентября 2022 г.

Прежде чем перейти к сути приложения, я хочу выяснить, как на самом деле работает этот шаблонный код API. Как работает промежуточное ПО, как передается токенизация (это промежуточное ПО?), как настроить модели и схемы в fastapi и т. д.

Оригинальный шаблонный код можно найти здесь, кстати

Давайте посмотрим, как настроен контроллер для базового маршрута (/home).

Таким образом, шаблон проектирования кажется

→Используйте декоратор на маршрутизаторе и добавьте зависимости и аутентификацию

→Пусть контроллер сделает все остальное

Вот user.py

Кажется, именно так мидлвары обрабатываются в fastapi через декораторы. Документы, похоже, тоже это показывают. Это сильно отличается от того, как это делается в экспресс

Если я изменю PermissionDependency на /home на IsAdmin вместо AllowAll, он запросит авторизацию

Аккуратный

Я немного сожалею, что не просмотрел этот материал, прежде чем перейти к пробной версии Aylien API, поскольку срок ее действия истек, но да ладно

Но хорошо, теперь я знаю, что все защищенные маршруты должны иметь этот флаг в промежуточном программном обеспечении:

dependencies=[Depends(PermissionDependency([IsAdmin]))]

На самом деле подождите, это только для модели user

Поэтому, если бы я использовал этот же класс в маршруте здоровья, он вернул бы результат из модели User, если он правильно аутентифицирован… Я думаю

Ах, мило, глядя на кодовую базу, кажется, что первоначальный создатель уже добавил тесты 4 дня назад, а также некоторые другие полезные функции.

Я как раз собирался изучить жетоны обновления. Я думаю, что внесу свой вклад в этот проект, как только получу хорошее представление о нем, таким образом, первоначальный создатель будет более склонен поддерживать темп.

Я думаю, что код CICD сам по себе будет ценным вкладом

Хорошо, в любом случае, вносим изменения

Прохладный. Я думаю, что это завершение на сегодня

День 1: https://medium.com/@elefun/turning-news-into-data-day-1-1689ffd4a313

День 2: https://medium.com/@elefun/turning-news-into-data-day-2-b98a6ebe3012

День 3: https://medium.com/@elefun/turning-news-into-data-day-3-79307d1be685

День 4: https://medium.com/@elefun/turning-news-into-data-day-4-fa52416ddf0f

День 5: https://medium.com/@elefun/turning-news-into-data-day-5-8b9f97a81174

День 6: https://medium.com/@elefun/turning-news-into-data-day-6-a51b811baece

День 7: https://medium.com/@elefun/turning-news-into-data-day-7-7533fffff82c

День 8: https://medium.com/@elefun/turning-news-into-data-day-8-c1528866bf33

День 9: https://medium.com/@elefun/turning-news-into-data-day-9-cloudrun-deployed-9aeb65085fe6

День 10: https://medium.com/@elefun/turning-news-into-data-day-10-reduce-image-size-bc0b7081fceb