FastAPI – это современный и быстрый фреймворк для создания веб-сервисов на языке Python. Он предоставляет простой и интуитивно понятный способ для создания API с использованием асинхронного программирования.
## Установка и настройка
Для начала работы с FastAPI вам понадобится установить его с помощью пакетного менеджера pip:
«`python
pip install fastapi
«`
Установка также будет автоматически установить другую зависимость – `uvicorn`, который используется для запуска веб-сервиса.
## Простой пример API
Давайте создадим простой API, который будет возвращать сообщение «Hello, World!» при обращении к корневому URL.
Создайте новый файл с расширением `.py`, например `main.py`, и добавьте следующий код:
«`python
from fastapi import FastAPI
app = FastAPI()
@app.get(«/»)
async def read_root():
return {«message»: «Hello, World!»}
«`
В этом примере мы импортируем класс `FastAPI` из библиотеки FastAPI и создаем экземпляр приложения. Декоратор `@app.get(«/»)` указывает на URL, по которому будет доступен наш обработчик. Функция `read_root()` будет вызываться при обращении к этому URL и возвращает JSON-ответ с сообщением.
## Запуск веб-сервиса
Далее, чтобы запустить веб-сервис, выполните следующую команду:
«`bash
uvicorn main:app —reload
«`
Эта команда запускает сервер `uvicorn` и передает ему имя файла `main` и имя экземпляра приложения `app`. Флаг `—reload` указывает на автоматическую перезагрузку сервера при изменениях в коде.
## Тестирование API
Теперь, когда наш сервис работает, мы можем протестировать его. Откройте браузер и перейдите по URL `http://localhost:8000/` – вы должны увидеть следующий JSON-ответ:
«`json
{«message»: «Hello, World!»}
«`
## Передача параметров
FastAPI также обеспечивает простой способ передачи параметров в URL. Например, вы можете определить обработчик, который будет принимать целочисленное значение и возвращать его удвоенным. Добавьте следующий код в файл `main.py`:
«`python
@app.get(«/double/{number}»)
async def double_number(number: int):
return {«result»: number * 2}
«`
Теперь, если вы перейдете по URL `http://localhost:8000/double/5`, вы получите следующий ответ:
«`json
{«result»: 10}
«`
## Документация API
FastAPI предоставляет автоматическую документацию для вашего API. Если вы откроете URL `http://localhost:8000/docs` в браузере, вы увидите интерактивную документацию Swagger, которая позволяет вам изучить и протестировать API. Вы также можете использовать URL `http://localhost:8000/redoc` для просмотра документации в формате ReDoc.
## Заключение
FastAPI – это быстрый и эффективный фреймворк для создания веб-сервисов на языке Python. Он предоставляет простой и удобный способ для создания API с использованием асинхронного программирования. Кроме того, FastAPI обеспечивает автоматическую документацию и интеграцию Swagger, что делает его отличным выбором для разработки веб-сервисов.