跳转到主要内容

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"])初始化日志
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()