· 约 2 分钟
04-FastAPI基础入门-路由
学习目标
- 理解路由在 FastAPI 中的作用
- 学会定义不同路径的接口
- 认识常见请求方法对应的路由写法
核心概念
路由决定了:
- 什么 URL 会命中这个函数
- 使用什么请求方法访问
- 返回什么内容
常见请求方法:
GET:查询数据POST:新增数据PUT:整体更新PATCH:局部更新DELETE:删除数据
在 FastAPI 中,路由通常通过装饰器声明:
@app.get()@app.post()@app.put()@app.delete()
代码示例
from fastapi import FastAPI
app = FastAPI()
@app.get("/users")
def get_users():
return [{"id": 1, "name": "Tom"}]
@app.post("/users")
def create_user():
return {"message": "create success"}
@app.delete("/users/{user_id}")
def delete_user(user_id: int):
return {"message": f"delete user {user_id}"}
理解方式
可以把路由看成“地址和函数之间的映射表”:
- 访问
/users+GET,执行get_users - 访问
/users+POST,执行create_user - 访问
/users/1+DELETE,执行delete_user
易错点
- 同一路径不同方法可以共存,但同一路径同方法重复定义会冲突
- 路由顺序有时会影响匹配,尤其是动态路径和固定路径混在一起时
- 删除、更新接口最好明确资源 id,不要把所有逻辑都堆在一个路由里
我的补充
路由设计要尽量“像资源”而不是“像动作名”。
例如更推荐:
/users/users/{user_id}
而不是:
/getUser/deleteUser