fastapi如何定义子路由
时间: 2023-10-05 11:11:28 浏览: 140
在 FastAPI 中,我们可以使用 `APIRouter` 定义子路由。
首先,需要导入 `APIRouter` 类:
```python
from fastapi import APIRouter
```
然后,实例化一个 `APIRouter` 对象,定义我们的子路由:
```python
router = APIRouter()
```
接下来,我们可以使用 `router` 对象来定义子路由:
```python
@router.get("/users/")
async def read_users():
return [{"username": "Rick"}, {"username": "Morty"}]
@router.get("/users/{user_id}")
async def read_user(user_id: int):
return {"user_id": user_id}
@router.post("/users/")
async def create_user():
return {"msg": "User created successfully"}
```
最后,我们需要将子路由添加到主路由中,这样 FastAPI 才能识别并处理它们:
```python
app.include_router(router, prefix="/api/v1")
```
在这个例子中,我们将子路由添加到了 `/api/v1` 路径下。这样,在我们访问 `/api/v1/users/`,`/api/v1/users/{user_id}` 和 `/api/v1/users/` 路径时,FastAPI 将会分别调用对应的子路由函数。
阅读全文
相关推荐


















