fastjson jsonpath
时间: 2024-12-30 15:19:49 浏览: 5
### FastAPI 中 Path 参数的使用
在 FastAPI 应用中,`path` 参数用于从 URL 路径中提取参数。这使得创建动态路由变得简单而直观[^3]。
#### 定义带有 `path` 参数的 API 端点
为了定义一个接受路径参数的 API 接口,在函数签名中声明该参数即可:
```python
from fastapi import FastAPI, Path
app = FastAPI()
@app.get("/items/{item_id}")
async def read_item(item_id: int = Path(..., title="The ID of the item to get")):
return {"item_id": item_id}
```
在此示例中,当访问 `/items/123` 这样的 URL 时,`read_item()` 函数会被调用,并且 `item_id` 将被设置为整数值 `123`。
#### 添加验证规则
还可以利用 Pydantic 提供的数据校验功能给这些参数加上额外约束条件:
```python
@app.get("/items/{item_id}")
async def read_item(
item_id: int = Path(..., title="The ID of the item to get", ge=0)):
return {"item_id": item_id}
```
这里增加了最小值 (`ge`) 验证,确保传入的 `item_id` 不小于零。
#### 处理嵌套路径
对于更复杂的场景,比如多级目录结构下的资源获取,同样可以通过简单的语法实现:
```python
@app.get("/users/{user_id}/items/{item_id}")
async def read_user_item(user_id: str, item_id: int):
return {"user_id": user_id, "item_id": item_id}
```
此代码片段展示了如何同时接收多个路径组件作为输入参数。
阅读全文