Мы используем cookie для стабильной работы сервиса. Подробнее

FastAPI

ФорматОнлайн
Объём14 занятий
О курсе

Подробнее

Мы начнём с быстрого и практичного входа в FastAPI: разберём, зачем он нужен и где выигрывает у других фреймворков, настроим проект с использованием uv, запустим приложение через uvicorn и создадим первые роуты. По ходу вы научитесь работать с параметрами пути и запроса, статусами ответов, исключениями и классами Response, а также подключите линтер ruff. Уже на этом этапе вы поймёте философию FastAPI — как из простых функций быстро получать чистый, типизированный и предсказуемый API. Далее мы перейдём к контрактам и архитектуре API. Вы глубоко разберёте Pydantic-модели, валидацию данных, разделение схем на Create/Update/Read, кастомные валидаторы и формат ошибок. На этой основе мы приведём OpenAPI-документацию в идеальный порядок: научимся работать со Swagger и ReDoc, описывать эндпоинты, responses и примеры, а также версионировать API. Параллельно вы освоите Dependency Injection в FastAPI, научитесь выносить бизнес-логику в сервисы, работать с конфигурацией, логированием и health-endpoint’ами, и выстроите слоистую архитектуру проекта. В финальной части мы соберём полноценное backend-приложение, максимально приближённое к реальной продакшн-разработке. Вы подключите асинхронную SQLAlchemy, реализуете репозитории и миграции, разберётесь с транзакциями, пагинацией и целостностью данных. Затем добавите аутентификацию и авторизацию и middleware. В результате у вас будет не просто знание FastAPI, а целостное понимание того, как проектировать, реализовывать и поддерживать современный, масштабируемый backend-API.
Требования

Что нужно для старта

  • Базовое знание Python
Результат

Что вы получите

  • Проектировать backend на FastAPI с понятной архитектурой
  • Создавать типобезопасные API-контракты на Pydantic
  • Использовать Dependency Injection и разделять ответственность
  • Работать с переменными окружения
  • Настраивать логирование для разных окружений
  • Писать асинхронный backend-код на async/await
  • Работать с БД через асинхронную SQLAlchemy и репозитории
  • Реализовывать аутентификацию и авторизацию пользователей
  • Добавлять middleware и работать с DI
  • Использовать миграции для с Alembic
Аудитория

Для кого этот курс

  • Разработчики, знакомые с Python
Содержание

Программа курса

14 занятий
№ТемаЧто внутри
01Введение

- О FastAPI
- Как устроен курс
- Обзор проекта

02Настройка окружения

- Настройка проекта
- Установка Python MacOS
- Установка Python Linux
- Установка Python Windows
- Pyenv
- Настройки VSCode
- uv

03Старт проекта

- Создание проекта
- uvicorn
- Первый роут
- just
- ruff
- Запросы на сервер
- Методы и коды ответов
- Тест - Старт проекта

04Основы FastAPI

- Response классы
- Обработка исключений
- Типы возвращаемых данных
- Path параметры
- Query параметры
- Body
- Структура проекта
- Создание роутера
- Упражнение - Случайное число
- Тест - Основы FastAPI

05Pydantic

- Введение в Pydantic
- model_validator
- Валидация body
- field_validator
- Response model
- model_config
- Path model
- Упражнение - Обновление проекта
- Тест - Pydantic

06OpenAPI

- Swagger OpenAPI и ReDoc
- Упражнение - Базовая документация
- Summary description tags
- Версионирование API
- Модель зрелости API
- Тест - OpenAPI

07Dependency Injection

- Что такое DI
- Layer архитектура
- Базовый механизм Depends
- Dependency Graph
- Жизненный цикл зависимостей
- Упражнение - API роут для задач
- Упражнение - DI для задач
- Тест - Dependency Injection

08Конфигурация приложения

- О конфигурации
- pydantic-settings
- Внедрение настроек
- Валидация при запуске
- Валидация схемы
- Упражнение - Добавление секрета
- Тест - Конфигурация приложения

09Логирование

- Цель логирования
- Уровни логирования
- logging
- Formater
- Формат логов
- basicConfig
- log_config
- extra
- Логирование ошибок
- Упражнение - Конфиг для прода
- Тест - Логирование

10Работа с базой данных

- Развёртка PostgreSQL
- Выбор библиотеки
- Установка SQLAlchemy
- Подключение к базе
- Запросы в сессии
- Модели
- Установка Alembic
- Первая миграция
- Запись в базу
- Тест - Работа с базой данных
- Отзыв о курсе

11CRUD операции

- Create
- Read
- Update
- Delete
- Упражнение - Модель задачи
- Связь моделей
- Упражнение - Создание задачи
- Упражнение - Получение задач
- Limit и Offset в SQL
- Реализация поиска
- Упражнение - Фильтр по проекту
- Тест - CRUD операции

12Авторизация

- Работа JWT
- Модель пользователя
- Хэширование пароля
- Регистрация
- Логин
- Генерация JWT
- Упражнение - Возврат токена
- Тест - Авторизация

13Middleware и Dependency

- Что такое middleware
- Создание первой Middleware
- Dependency vs Middleware
- Middleware аутентификации
- Итоговая аутентификация
- Связь многие ко многим
- Доработка создания
- Упражнение - Проверка владения
- Развитие проекта
- Тест - Middleware и Dependency

14Заключение

- Куда дальше
- Финальное тестирование

01Введение

- О FastAPI
- Как устроен курс
- Обзор проекта

02Настройка окружения

- Настройка проекта
- Установка Python MacOS
- Установка Python Linux
- Установка Python Windows
- Pyenv
- Настройки VSCode
- uv

03Старт проекта

- Создание проекта
- uvicorn
- Первый роут
- just
- ruff
- Запросы на сервер
- Методы и коды ответов
- Тест - Старт проекта

04Основы FastAPI

- Response классы
- Обработка исключений
- Типы возвращаемых данных
- Path параметры
- Query параметры
- Body
- Структура проекта
- Создание роутера
- Упражнение - Случайное число
- Тест - Основы FastAPI

05Pydantic

- Введение в Pydantic
- model_validator
- Валидация body
- field_validator
- Response model
- model_config
- Path model
- Упражнение - Обновление проекта
- Тест - Pydantic

06OpenAPI

- Swagger OpenAPI и ReDoc
- Упражнение - Базовая документация
- Summary description tags
- Версионирование API
- Модель зрелости API
- Тест - OpenAPI

07Dependency Injection

- Что такое DI
- Layer архитектура
- Базовый механизм Depends
- Dependency Graph
- Жизненный цикл зависимостей
- Упражнение - API роут для задач
- Упражнение - DI для задач
- Тест - Dependency Injection

08Конфигурация приложения

- О конфигурации
- pydantic-settings
- Внедрение настроек
- Валидация при запуске
- Валидация схемы
- Упражнение - Добавление секрета
- Тест - Конфигурация приложения

09Логирование

- Цель логирования
- Уровни логирования
- logging
- Formater
- Формат логов
- basicConfig
- log_config
- extra
- Логирование ошибок
- Упражнение - Конфиг для прода
- Тест - Логирование

10Работа с базой данных

- Развёртка PostgreSQL
- Выбор библиотеки
- Установка SQLAlchemy
- Подключение к базе
- Запросы в сессии
- Модели
- Установка Alembic
- Первая миграция
- Запись в базу
- Тест - Работа с базой данных
- Отзыв о курсе

11CRUD операции

- Create
- Read
- Update
- Delete
- Упражнение - Модель задачи
- Связь моделей
- Упражнение - Создание задачи
- Упражнение - Получение задач
- Limit и Offset в SQL
- Реализация поиска
- Упражнение - Фильтр по проекту
- Тест - CRUD операции

12Авторизация

- Работа JWT
- Модель пользователя
- Хэширование пароля
- Регистрация
- Логин
- Генерация JWT
- Упражнение - Возврат токена
- Тест - Авторизация

13Middleware и Dependency

- Что такое middleware
- Создание первой Middleware
- Dependency vs Middleware
- Middleware аутентификации
- Итоговая аутентификация
- Связь многие ко многим
- Доработка создания
- Упражнение - Проверка владения
- Развитие проекта
- Тест - Middleware и Dependency

14Заключение

- Куда дальше
- Финальное тестирование

Организатор

Автор курса

StepikStepik
Stepik — образовательная платформа и конструктор онлайн-курсов. Мы разрабатываем алгоритмы адаптивного обучения, сотрудничаем с авторами MOOC, помогаем в проведении олимпиад и программ переподготовки. Наша цель — сделать образование открытым и удобным. Stepik — широко известная российская образовательная платформа, основанная в 2013 году. На Stepik зарегистрировано более миллиона пользователей из России и стран СНГ. В настоящее время на Stepik представлены несколько тысяч учебных курсов на самые разные темы.
Подробнее об авторе
Мнения учеников

Отзывы о курсе

Оставьте отзыв

Расскажите о качестве обучения, поддержке и результате. Это поможет другим выбрать организацию осознанно.

Напишите ваш коментарий, не менее 30 символов

Нажимая кнопку, вы даете согласие на обработку персональных данных

Оставьте заявку

Консультант ответит на вопросы о курсе «FastAPI» и поможет разобраться в деталях обучения.

Комментарий ...

Нажимая кнопку, вы даете согласие на обработку персональных данных

Направления:Backend-разработка

Информация обновлена 3 сентября 2026 г.

Продолжить выбор

Похожие курсы

Backend разработчик Golang
Backend разработчик Golang

Освойте Backend-разработку на Golang с нуля. Научитесь создавать высоконагруженные микросервисы, распределённые системы, работать с Docker, Kubernetes. Язык Google, Uber, Яндекс с…

Онлайн
Персональный наставникОбратная связь
Цена по запросуот 5 000 ₽/мес
NestJS — с нуля, современный backend на TypeScript и Node JS
NestJS — с нуля, современный backend на TypeScript и Node JS

NestJS - это быстро растущий Node.js фреймворк, который позволяет командам легко разрабатывать поддерживаемые, легко тестируемые и масштабируемые приложения благодаря TypeScript и…

Онлайн14 занятий
3 999 ₽
Backend разработчик Node.js
Backend разработчик Node.js

Освойте Backend-разработку на Node.js с нуля. Научитесь создавать REST API, GraphQL, микросервисы, работать с базами данных MongoDB, PostgreSQL. Полное погружение в серверную разр…

Онлайн
Персональный наставникОбратная связь
Цена по запросуот 5 000 ₽/мес
Backend разработчик на Python
Backend разработчик на Python

Освойте Backend-разработку на Python с нуля. Научитесь создавать REST API, Django, FastAPI, работать с PostgreSQL, Redis. Самый популярный язык 2026 года. Зарплаты от 88к до 300к+…

Онлайн
Персональный наставникОбратная связь
Цена по запросуот 5 000 ₽/мес
FastAPI
15 ч.
FastAPI

Использовать Dependency Injection и разделять ответственность

Онлайн
Персональный наставникОбратная связь+3
3 999 ₽
Backend Golang
Backend Golang

Golang – язык для серверной разработки от Google, созданный в 2009 году. Он способен обрабатывать до 10 000 запросов в секунду благодаря встроенным горутинам для параллельной рабо…

Онлайн1 занятий
25 000 ₽