Open lcsvcn opened 8 months ago
This should work...
from typing import List, Any, Dict
from fastapi import FastAPI, APIRouter
from pydantic import BaseModel
from fastapi_versionizer.versionizer import Versionizer, api_version
app = FastAPI(
title='test',
docs_url='/swagger',
openapi_url='/api_schema.json',
redoc_url=None,
description='Simple example of FastAPI Versionizer.',
terms_of_service='https://github.com/alexschimpf/fastapi-versionizer'
)
items_router = APIRouter(
prefix='/items',
tags=['Items']
)
@api_version(1)
def get_items_v1() -> str:
return 'v1'
@api_version(2)
def get_items_v2() -> str:
return 'v2'
items_router.get('', deprecated=True)(get_items_v1)
items_router.get('')(get_items_v2)
app.include_router(items_router)
versions = Versionizer(
app=app,
prefix_format='/v{major}',
semantic_version_format='{major}',
latest_prefix='/latest',
include_versions_route=True,
sort_routes=True
).versionize()
How to use in this format:
Looked up all examples and could not find...