Установка FastAPI и зависимостей
Для начала установки FastAPI, убедитесь, что у вас установлен Python 3.7 или новее. Затем, используйте следующую команду для установки FastAPI и зависимостей:
pip install fastapi[all]
Создание основного приложения FastAPI
Создайте файл main.py
и добавьте следующий код для создания базового приложения FastAPI:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
Запуск сервера разработки
FastAPI не включает сервер по умолчанию. Однако, при установке FastAPI с дополнительными зависимостями, вы установите сервер uvicorn
. Запустите сервер с помощью следующей команды:
uvicorn main:app --reload
Тестирование API
После запуска сервера разработки, вы можете проверить работу API, перейдя по адресу http://127.0.0.1:8000
в вашем браузере. Вы должны увидеть ответ JSON с приветствием.
Автоматическая генерация документации
FastAPI автоматически генерирует документацию для вашего API. Вы можете просмотреть документацию, перейдя по адресу http://127.0.0.1:8000/docs
или http://127.0.0.1:8000/redoc
в вашем браузере. Документация будет обновляться в реальном времени, по мере изменения вашего кода.
Определение дополнительных маршрутов
FastAPI позволяет быстро определить дополнительные маршруты для вашего API. Добавьте следующий код в main.py
для создания нового маршрута, который принимает параметр:
@app.get("/items/{item_id}")
def read_item(item_id: int, query_param: str = None):
return {"item_id": item_id, "query_param": query_param}
Теперь, перейдя по адресу http://127.0.0.1:8000/items/42?query_param=test
в вашем браузере, вы должны увидеть ответ JSON, содержащий переданный параметр и значение query_param.
Развертывание FastAPI приложения
Для развертывания FastAPI приложения рекомендуется использовать сервер uvicorn
или gunicorn
совместно с uvicorn
worker’ами. Подробные инструкции по развертыванию смотрите в официальной документации FastAPI.
Заключение
В этой статье мы рассмотрели установку и базовую настройку FastAPI. FastAPI — это мощный и гибкий инструмент для создания API на Python, который предлагает автоматическую генерацию документации, поддержку асинхронных операций и простое определение маршрутов. Следуйте руководствам и документации для расширения возможностей вашего приложения.