Функция Path
Функция Path применяется внутри функции-обработчика
для объявления параметра пути, который уже присутствует
в URL. Первым параметром передаётся значение по умолчанию,
обычно ... (Ellipsis), что делает параметр обязательным.
Далее можно передавать именованные аргументы для валидации
и документации: gt, ge, lt, le,
min_length, max_length, pattern,
title, description, alias, deprecated.
Синтаксис
from fastapi import Path
def handler(param: int = Path(default, *, gt=None, ge=None, lt=None, le=None, min_length=None, max_length=None, pattern=None, title=None, description=None, alias=None, deprecated=None)):
...
Пример
Давайте объявим параметр пути item_id с проверкой,
что значение больше нуля:
from fastapi import FastAPI, Path
app = FastAPI()
@app.get('/items/{item_id}')
def read_item(item_id: int = Path(..., gt=0)):
return {'item_id': item_id}
Результат выполнения кода для адреса /items/5:
{"item_id": 5}
Пример
Давайте добавим метаданные и ограничение длины для строкового
параметра пути name:
from fastapi import FastAPI, Path
app = FastAPI()
@app.get('/users/{name}')
def read_user(
name: str = Path(..., min_length=3, max_length=10, title='User name', description='The name of the user')
):
return {'name': name}
Результат выполнения кода для адреса /users/abcde:
{"name": "abcde"}
Пример
Давайте используем регулярное выражение через параметр
pattern для проверки формата идентификатора:
Результат выполнения кода для адреса /articles/article:
{"article_id": "article"}
Смотрите также
-
функция
Query,
которая объявляет параметры запроса -
функция
Header,
которая объявляет параметры заголовков -
функция
Cookie,
которая объявляет параметры cookie -
параметр
description,
который задаёт описание параметра