Параметр operation_id
Параметр operation_id передаётся в декораторы маршрутов
(get, post, api_route и другие) и задаёт
уникальный идентификатор операции в генерируемой OpenAPI-схеме.
По умолчанию FastAPI формирует его автоматически из имени функции
и пути URL, но при необходимости его можно переопределить.
Этот идентификатор используется генераторами клиентского кода,
а также отображается в документации Swagger UI и ReDoc.
Синтаксис
@app.get(path, operation_id='custom_id')
Пример
Давайте зададим собственный идентификатор операции для обработчика корневого маршрута:
from fastapi import FastAPI
app = FastAPI()
@app.get('/', operation_id='index_handler')
def index():
return {'text': 'hello'}
В OpenAPI-схеме операция получит идентификатор
index_handler вместо автоматического
index__get. Результат выполнения кода
для адреса /:
{"text": "hello"}
Пример
Давайте применим operation_id к маршруту
с параметром пути и посмотрим на фрагмент OpenAPI-схемы:
Результат выполнения кода для адреса /user/abcde:
{"name": "abcde"}
Фрагмент сгенерированной OpenAPI-схемы по адресу /openapi.json:
"operationId": "get_user_by_name"
Смотрите также
-
метод
get,
который вешает обработчик на GET-запрос -
метод
api_route,
который вешает обработчик на произвольный HTTP-метод -
метод
add_api_route,
который добавляет маршрут программно -
метод
openapi,
который возвращает OpenAPI-схему приложения