РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
49 of 307 menu

Параметр 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 в качестве имени маршрута используется имя функции:

<+python+> from fastapi import FastAPI app = FastAPI() @app.get('/article/{slug}') def article(slug: str): return {'slug': slug} @app.get('/show-name') def show_name(): url = app.url_path_for('article', slug='hello') return {'url': url} <-python+>

Результат выполнения кода для адреса /show-name:

{"url": "/article/hello"}

Пример

Давайте посмотрим, как параметр name отражается в схеме OpenAPI:

<+python+> from fastapi import FastAPI app = FastAPI() @app.get('/user/{name}', name='user_profile') def user(name: str): return {'name': name} @app.get('/schema') def schema(): return app.openapi()['paths']['/user/{name}']['get']['operationId'] <-python+>

Результат выполнения кода для адреса /schema:

"user_profile_user__name__get"

Смотрите также

  • метод get,
    который вешает обработчик на GET-запрос
  • метод api_route,
    который вешает обработчик на произвольный HTTP-метод
  • параметр operation_id,
    который задаёт идентификатор операции в OpenAPI
  • класс FastAPI,
    который представляет приложение FastAPI
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить