fastapi路由管理,和GIN的框架思想一致。
入口函数----主路由---控制器---服务
- main入口函数,需要include api_router
from router.api import api_router
app = FastAPI()
app.include_router(api_router, prefix="/api")
if __name__ == "__main__":
uvicorn.run(app, host="127.0.0.1", port=8081)
- 路由文件,必须导入实际的控制文件,每个控制文件设置一个router
from fastapi import APIRouter
from control import user
api_router = APIRouter()
api_router.include_router(user.router, prefix="/user")
- 实际的控制文件,设置好子路由
from typing import List
from fastapi import Depends, FastAPI, HTTPException, APIRouter
from pydantic import BaseModel
from services import user_services
from models import user_models
router = APIRouter()
class UserSchemas(BaseModel):
username: str
fullname: str
password: str
@router.get("/{username}")
def get_user(username: str):
print(username)
user = user_services.get_user_by_username(username)
return user
网友评论