Чем это отличается от сайта
Сайт возвращает страницы для человека. Сервис возвращает данные для другой программы — обычно в формате JSON.
Такие сервисы нужны везде: мобильное приложение обращается к серверу, интерфейс на странице подгружает данные, одна система общается с другой.
FastAPI хорош для начинающих тем, что заставляет описывать данные строго и сам делает из этого документацию.
Шаг 1. Установка
python -m venv .venv
source .venv/bin/activate
pip install fastapi uvicorn
Второе — сервер, который будет запускать ваш сервис.
Шаг 2. Первый обработчик
Создайте файл с приложением и одним обработчиком, который отвечает на обращение по корневому адресу и возвращает словарь.
Запустите:
uvicorn main:app --reload
Флаг перезапуска означает, что при изменении файла сервис перезапустится сам. Экономит много времени.
Откройте адрес в браузере — увидите ответ в виде данных.
Шаг 3. Автоматическая документация
Добавьте к адресу путь документации — и вы увидите страницу со списком всех обработчиков, где каждый можно вызвать прямо из браузера.
Вы не писали её. FastAPI собрал документацию из описания вашего кода.
Это не украшение: когда вы отдаёте сервис другому человеку, такая страница снимает половину вопросов. И на собеседовании она хорошо смотрится.
Шаг 4. Описание данных
Опишите структуру входящих данных отдельным классом: какие поля, каких типов, какие обязательны.
Теперь при обращении с неправильными данными сервис сам вернёт понятную ошибку с указанием, что не так. Вам не надо писать проверки вручную.
Это главное отличие от более простых фреймворков и причина, по которой FastAPI стоит попробовать: строгое описание данных экономит время и ловит ошибки рано.
Шаг 5. Хранение
Добавьте базу данных. Для учебного проекта достаточно простого файлового хранилища, для более серьёзного — полноценной базы.
Сделайте обработчики для четырёх основных действий: получить список, получить одну запись, добавить, удалить.
Шаг 6. Развёртывание
Разверните на любой бесплатной площадке. С этого момента вашим сервисом можно пользоваться по ссылке — и вы можете дать её кому угодно.
Что показать в портфолио
Сервис с несколькими обработчиками, описанием данных, обработкой ошибок и автоматической документацией — уже приличный учебный проект.
Особенно если добавите к нему простой интерфейс, который к этому сервису обращается: тогда видно, что вы понимаете обе стороны.
Частые ошибки новичков
Возвращать разное при ошибке и при успехе без кодов состояния. Программе, которая к вам обращается, нужен понятный признак: получилось или нет.
Не проверять входящие данные. С FastAPI это почти бесплатно, грех не пользоваться.
Класть ключи и пароли в код. Выносите в переменные окружения — это первое, на что смотрят в репозитории.
Хватит читать — пора делать
На CohortX можно найти команду под пет-проект и получить тот самый опыт, о котором спрашивают на собеседовании.
Похожие статьи
- FastAPI: your first service in an eveningWhat a service for programs is, how to write your first one in an evening, and why automatic documentation saves time.
- Django for beginners: a first project step by stepFrom installation to a working list with an admin panel — the steps, and what each one means.
- Django для начинающих: первый проект по шагамОт установки до работающего списка записей с панелью управления — что делать по шагам и что означает каждый шаг.