Параметр name
Параметр name принимается методами
get, post, put, patch,
delete, options, head,
trace, api_route и другими
декораторами маршрутов приложения FastAPI.
Он задаёт уникальное имя маршрута,
по которому его можно найти в объекте
app.url_path_for и в схеме OpenAPI.
Если параметр не указан, FastAPI использует
имя функции-обработчика в качестве имени маршрута.
Значением параметра должна быть строка.
Синтаксис
@app.get(path, name='route_name')
Пример
Давайте зададим имя маршруту и получим его URL
через метод url_path_for:
from fastapi import FastAPI
app = FastAPI()
@app.get('/user/{name}', name='user_profile')
def user(name: str):
return {'name': name}
@app.get('/resolve')
def resolve():
url = app.url_path_for('user_profile', name='abcde')
return {'url': url}
Результат выполнения кода для адреса /resolve:
{"url": "/user/abcde"}
Пример
Давайте убедимся, что без параметра name
в качестве имени маршрута используется имя функции:
Результат выполнения кода для адреса /show-name:
{"url": "/article/hello"}
Пример
Давайте посмотрим, как параметр name
отражается в схеме OpenAPI:
Результат выполнения кода для адреса /schema:
"user_profile_user__name__get"
Смотрите также
-
метод
get,
который вешает обработчик на GET-запрос -
метод
api_route,
который вешает обработчик на произвольный HTTP-метод -
параметр
operation_id,
который задаёт идентификатор операции в OpenAPI -
класс
FastAPI,
который представляет приложение FastAPI