API Version Router Management?
Hey All,
I'm splitting my project up into multiple versions. I have different pydantic schemas for different versions of my API. I'm not sure if I'm importing the correct versions for the pydantic schemas (IE v1 schema is actually in v2 route)
from src.version_config import settings
from src.api.routers.v1 import (
foo,
bar
)
routers = [
foo.router,
bar.router,]
handler = Mangum(app)
for version in [settings.API_V1_STR, settings.API_V2_STR]:
for router in routers:
app.include_router(router, prefix=version)
I'm assuming the issue here is that I'm importing foo and bar ONLY from my v1, meaning it's using my v1 pydantic schema
Is there a better way to handle this? I've changed the code to:
from src.api.routers.v1 import (
foo,
bar
)
v1_routers = [
foo,
bar
]
from src.api.routers.v2 import (
foo,
bar
)
v2_routers = [
foo,
bar
]
handler = Mangum(app)
for router in v1_routers:
app.include_router(router, prefix=settings.API_V1_STR)
for router in v2_routers:
app.include_router(router, prefix=settings.API_V2_STR)