路由与控制器:在 URL 中处理动态数据
发布: (2026年2月21日 GMT+8 18:08)
1 分钟阅读
原文: Dev.to
Source: Dev.to
什么是动态路由?
像 /about 这样的静态路由总是返回相同的内容。
动态路由允许 URL 包含可变部分,使 API 能够通过单一的端点模式提供不同的资源,例如 /user/1 和 /user/2。
@app.get("/user/{user_id}")
def get_user(user_id: int):
return {
"user_id": user_id,
"message": f"Fetching user with ID {user_id}"
}
@app.get("/product/{product_name}")
def get_product(product_name: str):
return {
"product": product_name,
"message": f"Fetching product: {product_name}"
}
@app.get("/user/{user_id}/order/{order_id}")
def get_user_order(user_id: int, order_id: int):
return {
"user_id": user_id,
"order_id": order_id,
"message": f"Order {order_id} for user {user_id}"
}
调用 /user/1/order/42 能准确告诉你请求的是哪个资源:用户 ID 为 1 的用户的订单 ID 为 42 的订单。
动态路由正是让 API 真正有用的关键所在。