FastAPI(一)——路径操作
路径操作装饰器
#业务逻辑是获取信息
@app.get("/get")
async def get_item():return {"method":"get"}
#业务逻辑是创建信息
@app.post("/post")
async def post_item():return {"method":"post"}
#业务逻辑是更新信息
@app.put("/put")
async def put_item():return {"method":"put"}
#业务逻辑是删除信息
@app.delete("/delete")
async def delete_item():return {"method":"delete"}
#业务逻辑是部分更新信息
@app.patch("/patch")
async def patch_item():return {"method":"patch"}
#业务逻辑是获取支持的请求方法
@app.options("/options")
async def options_item():return {"method":"options"}
路径操作装饰器方法的参数
@app.post("/items/",tags=["这是items测试接口"],summary="关与items的接口",description="这是一个创建item的接口",deprecated=False)
async def create_item(item: Item):return {"item": item}
- tags:给接口打标签,方便分类管理
- summary:对接口的简要描述
- description:对接口的详细描述
- deprecated:是否弃用该接口
include_router
将多个子应用的路由集中到主应用中管理
目录结构
project/main.pyusers/__init__.pyroutes.py
main.py
from fastapi import FastAPI
from users.routes import router as user_router
app = FastAPI()
app.include_router(user_router, prefix="/users", tags=["用户接口"])
users/routes.py
from fastapi import APIRouter
router = APIRouter()
@router.get("/")
async def read_users():return [{"username": "user1"}, {"username": "user2"}]
最后这样,访问用户列表的接口就是 /users/
,如果有多个子应用,可以分别创建不同的路由文件,然后在主应用中统一引入和注册。