FastAPI для начинающих
Этот курс представляет собой подробное руководство по созданию приложений с помощью 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.
Чему вы научитесь:
Курс будет полезен для заинтересованных в создании веб-API используя FastAPI.
Начальные требования:
Обладать хорошими практическими знаниями Python и иметь знания HTML, SQL. Желательно наличие знаний SQLAlchemy.
Преподаватель - Илья Перминов:
Занимаюсь веб-программированием с 2006 года.
Автор курсов по Django:
Django 5 для начинающих
Продвинутый Django 5 для продолжающих
Разработка backend-приложений на Django: полный курс.
FastAPI для начинающих
Этот курс представляет собой подробное руководство по созданию приложений с помощью 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
- Выполнять деплой проектов на сервер
Курс будет полезен для заинтересованных в создании веб-API используя FastAPI.
Начальные требования:
Обладать хорошими практическими знаниями Python и иметь знания HTML, SQL. Желательно наличие знаний SQLAlchemy.
Преподаватель - Илья Перминов:
Занимаюсь веб-программированием с 2006 года.
Автор курсов по Django:
Django 5 для начинающих
Продвинутый Django 5 для продолжающих
Разработка backend-приложений на Django: полный курс.
FastAPI для начинающих
https://stepik.org/course/180000/promo