Fast API — бесплатный видео курс от «Школы Больших Данных»

Все курсы

Введение в 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.