使用APIRouter做路由管理
gitee https://gitee.com/zz1521145346/fastapi_frame.git
github https://github.com/zz001357/fastapi_frame.git
通过FastAPI()实例化一个app对象之后,有一个include_router的方法。通过查看include_router的源码后发现,有两种方法,一种self(也就是在本身app这个对象下添加路由),一种是使用router。通过APIRouter实例化一个对象暂且称为api。将api作为app的include_router方法里的(router=api).然后由api管理路由
方法一
main.py中
app = FastAPI()
app.include_router(project.router)
app.include_router(about.router)
about.py中
from fastapi import APIRouter
router = APIRouter()
@router.get("/api/about")
async def u_test():
return {"message": "关于"}
方法二
main.py中
from api.router import api
app = FastAPI()
app.include_router(router=api)
router.py中
from fastapi import APIRouter
from api import user
api = APIRouter()
api.include_router(user.router)
api.include_router(works.router)
__all__ = ['api']
works.py中
from fastapi import APIRouter
router = APIRouter()
@router.get("/api/works")
async def u_test():
return {"message": "作品"}