Все курсы
Введение в FastAPI
Курс рассчитан на 24 академических часа.
Курс будет полезен начинающим разработчикам на python, аналитикам данных.
По результатам курса слушатели получат навыки разработки веб-сервисов на базе современного python фреймкорка fastapi. В курсе демонстрируются принятые стандарты разработки веб сервисов на fastapi. Слушателям расскажут, что такое ORM, как выполнить интеграцию сервиса с базой данных postgresql. Будет показано как настроить аутентификацию в сервисе и завернуть полученное решение в докер контейнер.
Программа курса Введение в FastAPI
Тема 1. Веб-сервисы, API, REST. Обзор веб-фреймворков на python.
Описание: Начинаем курс по разработке сервисов с помощью фреймворка fastapi на языке python с обзора фреймворков. Разбираем плюсы и минусы прямых конкурентов: flask и fastapi. Перемещаемся со стороны разработчика сервиса на сторону клиента и выполняем базовые запросы на один из API сервисов прогнозов погоды. Знакомимся с REST парадигмой, определением API и со свагером — инструментов для документации сервисов.
Обзор фреймворков для разработки веб сервисов на python. Сравниваем flask и fastapi
Выполняем запросы к API веб сервису, парадигма REST
Тема 2. Простейший веб-сервис на FastAPI
Пишем простейший ванильный сервис на fastapi. Поднимаем сервис локально. Выполняем запросы к простейшему сервису. Каркас API сервиса телефонной книги на FastAPI. Привносим логику в ванильный сервис на fastapi. В течение курса будем работать над сервисом телефонным справочником. Сервис будет иметь возможность добавить пользователя в базу данных и по фамилии найти в базе данных телефон пользователя.
Ванильный веб сервис на FastAPI
Каркас API сервиса телефонной книги на FastAPI
Тема 3. Обрабатываем разные типы запросов. Парсим тело запроса
Наследование классов в python. Пишем простейший парсер данных в запросе с помощью библиотеки pydantic. Изучаем дополнительные возможности pydantic по валидации параметров запроса. Смотрим на swagger из коробки. Выполняем запросы с помощью утилиты postman.
Парсим параметры запроса на FastAPI с помощью библиотеки pydantic
Возможности библиотеки pydantic, swagger в FastAPI и postman
Тема 4. Интеграция веб-сервиса с базой данных
Выполняем интеграцию веб сервиса на fastapi с базой данной postgresql. Используем библиотеку psycopg2. Демонстрируем возможности pandas по получению данных из базы данных. Общая информация об ORM, используем sqlalchemy в fastapi для интеграции с базой данных
Интегрируем веб сервис на fastapi с базой данной postgresql
Получение данных из базы данных postgresql с помощью psycopg2 и pandas
Тема 5. Аутентификация (basicAuth, jwt-token)
Вводная информация про аутентификацию и авторизацию. Добавляем в сервис базовую аутентификацию по логину и паролю. Добавляем в функционал логику json web token авторизацию. Даем возможность клиентам после регистрации получать токен, обновлять токен, выполнять запросы на добавления пользователей с помощью токена.
Аутентификация и авторизация. Добавляем базовую аутентификацию в сервис
Тема 6. Упаковываем веб-сервис в docker
Собираем production ready решение. Веб сервис на fastapi оборачиваем в docker образ. Настраиваем взаимодействие между контейнерами веб сервиса и базой данной postgresql. Запускаем контейнеры через docker-compose.
