fastapi 路由管理
定义包并编写路由
# routers\exemption_statistics_to_excel.py
import os
from fastapi import APIRouter
# 初始化日志
log = get_logger(__name__)
# 增加路由
# prefix 路径前缀
# tags 路由标签,没有什么实际作用,是在文档中生成标签的
router = APIRouter(prefix="/to_excel", tags=["to_excel"])
@router.get("/exemption_statistics")
# 减免统计导出
async def exemption_statistics_to_excel():
pass
自动加载路由
# main.py
# 模块化路由管理
def load_routers():
routers_dir = os.path.join(os.path.dirname(__file__), "routers")
log.info(f"routers_dir:{routers_dir}")
for _, module_name, _ in pkgutil.iter_modules([routers_dir]):
log.info(f"module_name:{module_name}")
module = importlib.import_module(f"routers.{module_name}")
if hasattr(module, "router"):
log.info(f"module.router:{module.router}")
app.include_router(module.router, prefix="/api")
# 模块化路由管理
load_routers()
# 也可以手工管理路由
# app.include_router(router)