Атрибут version
Атрибут version применяется к приложению
FastAPI и задаёт версию вашего API.
Значение передаётся при создании экземпляра
FastAPI в одноимённом параметре.
FastAPI использует это значение в схеме OpenAPI,
которая отображается на страницах документации
/docs и /redoc.
Если параметр не указан, атрибут принимает
значение None. Версия не влияет на маршрутизацию
и поведение обработчиков - это исключительно
информационный атрибут.
Синтаксис
app = FastAPI(version='1.0.0')
После создания приложения значение доступно
через атрибут app.version:
app.version
Пример
Давайте создадим приложение с версией и выведем её значение:
from fastapi import FastAPI
app = FastAPI(version='1.0.0')
@app.get('/')
def index():
return {'version': app.version}
Результат выполнения кода для адреса /:
{"version": "1.0.0"}
Пример
Давайте посмотрим, как версия попадает в схему
OpenAPI. Запросим схему и выведем её поле
info.version:
from fastapi import FastAPI
app = FastAPI(version='2.1.0')
@app.get('/')
def index():
return {'text': 'hello'}
schema = app.openapi()
res = schema['info']['version']
Результат выполнения кода:
"2.1.0"
Пример
Давайте изменим версию после создания приложения,
присвоив новое значение атрибуту version:
from fastapi import FastAPI
app = FastAPI(version='1.0.0')
app.version = '1.1.0'
@app.get('/')
def index():
return {'version': app.version}
Результат выполнения кода для адреса /:
{"version": "1.1.0"}