Перейти к содержанию

172 уроков, 13 библиотек и челлендж «Что выведет код?» — бесплатно, код прямо в браузере

Начать обучение

FastAPI на русском: интерактивный самоучитель создания API (10 уроков)

Современный фреймворк для API: быстрые эндпоинты с автодокументацией

Редакция Питоники

10 уроков ≈ 12–16 часов Средний уровень Бесплатно и без регистрации
FastAPI: интерактивные уроки с запуском кода в браузере

Валидировать входные данные в каждом эндпоинте — рутина, которую в FastAPI берёт на себя Pydantic. Swagger-документация генерируется сама. Поэтому это самый быстрорастущий фреймворк Python для бэкенда.

Курс ведёт от «что такое API вообще» до полноценного REST-сервиса заметок с базой данных и JWT-аутентификацией. Вы поймёте REST, освоите маршруты, модели и зависимости, научитесь тестировать и деплоить.

Фишка курса — живые демки Pydantic: модели с валидацией выполняются прямо на странице, и вы видите, как API отбраковывает плохие данные ещё до их попадания в код.

Чему научитесь

  • Понимать REST: ресурсы, методы, статусы
  • Писать маршруты с параметрами и валидацией
  • Моделировать данные через Pydantic
  • Строить полный CRUD с базой данных
  • Защищать эндпоинты JWT-токенами
  • Сделать и задеплоить API сервиса заметок

Для кого: Тем, кто знает Python и хочет писать бэкенд: API для сайтов, ботов и мобильных приложений.

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