[Илья Перминов] [Stepik] FastAPI для начинающих (2024)
FastAPI для начинающих [Stepik] [Илья Перминов]
Этот курс представляет собой подробное руководство по созданию приложений с помощью FastAPI. Вы узнаете, как создавать быстрые, эффективные и масштабируемые REST API на Python. Вы начнете с приложения Hello World и далее создадите полноценное API интернет магазина, использующее асинхронные запросы к базе данных, аутентификацию и права доступа. Внимание, данный курс не содержит ни минуты видео!
О курсе:
● Раздел 1: «Введение в API» мы познакомимся с API, архитектурой REST API. Изучим основные HTTP методы и коды ответа сервера.
● Раздел 2: «Знакомство с FastAPI» мы познакомимся с основами FastAPI и создадим свое первое API, возвращающее "Hello World". Также мы подробно изучим процесс создания конечных точек с использованием системы маршрутизации в FastAPI. И научимся валидировать параметры, получаемые из пути и тела запросов.
● Раздел 3: «Создание CRUD-приложения на FastAPI» мы спроектируем и реализуем простой CRUD проект. Познакомимся с основными методами запросов GET, POST, PUT, DELETE, научимся создавать и валидировать модели класса Pydantic. Изучим моделирование ответов, обработку ошибок и коды состояния. Обсудим, как можно использовать шаблоны Jinja для создания представлений и вывода ответов из API.
● Раздел 4: «Внедрения зависимостей» мы рассмотрим шаблон внедрения зависимостей, используемый FastAPI для управления экземплярами и структурой проекта с помощью директивы Depends() и сторонних модулей расширения.
● Раздел 5: «Интернет магазин на FastAPI» мы рассмотрим основные возможности FastAPI, научимся правильно структурировать проект. Узнаем об использовании APIRouter для организации проектов. Создадим подключение к БД через SQLAlchemy, научимся использовать Alembic для выполнения миграций. Научимся использовать сессии и напишем свои первые запросы, которые в дальнейшем мы сделаем асинхронными. Реализуем аутентификацию используя HTTP Basic Auth, OAuth2, и научимся генерировать JWT токен. Где в дальнейшем будем использовать его, для проверки прав доступа к различным конечным точкам нашего API.
● Раздел 6: «Продвинутые возможности в FastAPI» мы рассмотрим версионирование API сервисов, логгирование, кеширование ответов. Изучим, что такое тестирование и как тестировать конечные точки API.
● Раздел 7: «Docker + FastAPI» мы рассмотрим основные концепции Docker и на примере создадим свой контейнер с Python проектом. Далее мы упакуем FastAPI, PostgreSQL, NGINX в контейнеры и подготовим проект к деплою.
● Раздел 8: «Деплой проекта через Docker» мы рассмотрим деплой проекта FastAPI, вместе с базой данных PostgreSQL, веб сервером Gunicorn и Nginx на контейнерах Docker с Compose.
Чему вы научитесь:
* Работать с фреймворком FastAPI
* Писать свои API сервисы
* Валидировать данные через Pydantic
* Научитесь асинхронно работать с БД через SQLAlchemy и выполнять миграции используя Alembic
* Создавать аутентификацию на основе базовых методов и OAuth2 и JWT
* Упаковывать FastAPI в Docker Compose
* Выполнять деплой проектов на сервер
В курс входят:
52 урока / 40 тестов / 9 интерактивных задач
Содержание:
Введение в API
* Что такое API и его типы?
* Изучаем REST. Архитектура и лучшие практики
* HTTP методы и идемпотентность
* Коды состояний HTTP
Знакомство с FastAPI
* Что такое FastAPI?
* HelloWorld на FastAPI
* Знакомство с документацией API
* Маршрутизация в FastAPI
* Валидация параметров маршрутов (Path, Query)
Создание CRUD-приложения на FastAPI
* Проектирование и реализация REST API (GET, POST, PUT, DELETE)
* Модели Pydantic и их валидация
* Модели ответов и обработка ошибок
* Использование шаблонов Jinja и форм в FastAPI
* Итоги раздела
Внедрения зависимостей
* Внедрение функций и классов зависимости
* Зависимости в операциях пути и глобальные зависимости
Интернет магазин на FastAPI
* Структурирование FastAPI, APIRouter и написание моделей Pydantic
* Подключение к базе данных используя SQLAlchemy
* Введение в модели SQLAlchemy
* Отношения таблиц в SQLAchemy
* Миграции в SQLAlchemy, знакомство с Alembic
* Написание запросов к БД используя SQLAlchemy, часть 1
* Написание запросов к БД используя SQLAlchemy, часть 2
* Добавление асинхронности, переход на PostgreSQL
* Добавление асинхронности в запросах SQLAlchemy
* Реализация аутентификации используя HTTP Basic Auth
* Реализация аутентификации с помощью OAuth2 и JWT
* Управление правами доступа в FastAPI
* Итоги работы
* Экзамен
Продвинутые возможности в FastAPI
* Версионирование API
* Middleware
* Логгирование
* Механизм кэширования
* Асинхронные задачи с Celery и Redis
* Создание асинхронного WebSocket
* Тестирование приложений FastAPI, часть 1
* Тестирование приложений FastAPI, часть 2
Docker + FastAPI
* Знакомство с Docker
* Основные команды Docker
* Создание образов и запуск контейнера
* Контейнеризация Django и написание Dockerfile
* Введение в Docker Compose
* Docker Compose на примере FastAPI, PostgreSQL и Redis
* Подготовка к деплою, Gunicorn и NGINX в Docker Compose
* Настройка Docker-Compose для статических и медиа файлов
* Итоги работы
Деплой проекта через Docker
* Покупка VPS, доменного имени, привязка DNS
* Установка Docker на сервере
* Запуск Docker контейнеров на сервере
* Получение SSL-сертификата от Let's Encrypt и настройка HTTPS
Дополнительно.
—————————————————————————
🔗 Продажник:
Доступно пользователям: Зарегистрированный
📥 СКАЧАТЬ КУРС:
Для просмотра содержимого вам необходимо Войти или Зарегистрироваться.
🔐 Хотите получить доступ?
Чтобы увидеть скрытые ссылки и ставить лайки, активируйте VIP-статус.
💎 ПОЛУЧИТЬ ДОСТУП Наш Telegram канал