FastAPI на русском: интерактивный самоучитель создания API (10 уроков)
Современный фреймворк для API: быстрые эндпоинты с автодокументацией
Редакция Питоники

Валидировать входные данные в каждом эндпоинте — рутина, которую в FastAPI берёт на себя Pydantic. Swagger-документация генерируется сама. Поэтому это самый быстрорастущий фреймворк Python для бэкенда.
Курс ведёт от «что такое API вообще» до полноценного REST-сервиса заметок с базой данных и JWT-аутентификацией. Вы поймёте REST, освоите маршруты, модели и зависимости, научитесь тестировать и деплоить.
Фишка курса — живые демки Pydantic: модели с валидацией выполняются прямо на странице, и вы видите, как API отбраковывает плохие данные ещё до их попадания в код.
Чему научитесь
- Понимать REST: ресурсы, методы, статусы
- Писать маршруты с параметрами и валидацией
- Моделировать данные через Pydantic
- Строить полный CRUD с базой данных
- Защищать эндпоинты JWT-токенами
- Сделать и задеплоить API сервиса заметок
Для кого: Тем, кто знает Python и хочет писать бэкенд: API для сайтов, ботов и мобильных приложений.
- Урок 1. Что такое API и REST: введение в FastAPI для начинающихПонять, что такое API, REST, HTTP-методы и JSON — и подготовиться к первому приложению на FastAPI.35 мин
- Урок 2. Первое приложение на FastAPI: маршруты, uvicorn и SwaggerУстанавливаем FastAPI, пишем первый эндпоинт, запускаем сервер uvicorn и открываем Swagger — документацию, которая пишет себя сама.40 мин
- Урок 3. Параметры запросов: path, query и валидация в FastAPIОсваиваем path- и query-параметры FastAPI: типы, дефолты, валидация через Query и чтение ошибки 422.40 мин
- Урок 4. Модели Pydantic: тело запроса и автоматическая валидацияОписываем данные моделями Pydantic: автоконверсия типов, правила Field, вложенные модели — и валидируем тело POST-запроса FastAPI.45 мин
- Урок 5. CRUD на FastAPI: POST, PUT, PATCH и DELETE методыСтроим полный CRUD на FastAPI: POST со статусом 201, PUT с защитой от 404, PATCH и DELETE — и собираем мини-сервис задач целиком.40 мин
- Урок 6. Ответы сервера: response_model, статусы и заголовкиresponse_model фильтрует поля ответа, HTTPException отдаёт внятные ошибки, заголовок Location ведёт к созданному ресурсу — договор сервера с клиентом.40 мин
- Урок 7. Подключаем базу данных SQLite к FastAPIСловарь задач из урока 5 умирает при перезапуске. Ставим на его место SQLite через SQLAlchemy: движок, сессии, Depends и CRUD, который переживает uvicorn --reload.40 мин
- Урок 8. Аутентификация по JWT: защищаем эндпоинтыСтроим аутентификацию по JWT: хешируем пароли с солью, выдаём токен на /login и закрываем эндпоинты зависимостью get_current_user.45 мин
- Урок 9. Тестирование и деплой FastAPI: pytest, Docker и хостингpytest и TestClient для HTTP-тестов, CORS для фронтенда, переменные окружения, Dockerfile на восемь строк и выбор хостинга — выводим сервис задач в продакшен.45 мин
- Урок 10. Проект: REST API сервиса заметок с базой данныхСквозной проект курса: сервис заметок с тегами, поиском, SQLite и JWT. Структура по файлам, контракты Pydantic, тесты и README — портфолио-проект за пару вечеров.50 мин