Базовая маршрутизация FastAPI
В FastAPI базовая маршрутизация является ключом к определению конечных точек API.
Каждый маршрут сопоставляется с функцией в приложении, которая обрабатывает конкретный HTTP-запрос и возвращает соответствующий ответ.

Маршрут корневого пути
Создайте экземпляр FastAPI и маршрутизацию корневого пути:
Пример
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
Пояснение к коду:
FastAPI(): Создаёт экземпляр приложения FastAPI.@app.get("/"): Использовать@app.getДекоратор создаёт маршрут, который обрабатывает корневой путь.def read_root(): Функция-обработчик маршрута возвращает словарь, содержащий {"Hello": "World"}.
Параметр пути
Задайте параметры маршрута:
Пример
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
@app.get("/items/{item_id}")
def read_item(item_id: int, q: str = None):
return {"item_id": item_id, "q": q}
Пояснение к коду:
@app.get("/items/{item_id}"): Определяет путь маршрута, где{item_id}— это параметр пути, соответствующий параметру функцииitem_id。def read_item(item_id: int, q: str = None): Функция-обработчик маршрута принимает целочисленный параметр путиitem_idи необязательный строковый параметр запросаq。
В операциях маршрута параметры запроса можно объявлять с помощью параметров функции. Например,q: str = NoneОзначает, чтоqявляется необязательным строковым параметром запроса со значением по умолчаниюNone。
Запустите приложение и протестируйте маршруты
Запустите приложение с помощью Uvicorn:
uvicorn main:app --reload
Посетитеhttp://127.0.0.1:8000Просмотрите ответ корневого пути:

Посетите http://127.0.0.1:8000/items/42?q=example, чтобы увидеть ответ с параметрами пути и параметрами запроса:

Интерактивная документация API, автоматически создаваемая FastAPI, будет включать информацию об определённых маршрутах, параметрах пути, параметрах запроса и т. д. Посетите URL документации.http://127.0.0.1:8000/docsПросмотрите подробную документацию и интерфейс тестирования:
