fastapi get接口 Query获取参数详细写法
时间: 2024-12-11 19:41:10 浏览: 8
FastAPI是一个用于构建Web APIs的Python框架,它基于Pydantic库处理请求和响应。当你需要通过`GET`接口从查询字符串(query parameters)获取参数时,你可以按照以下步骤操作:
1. **定义一个模型**(Model): 首先,你需要创建一个Pydantic模型,该模型将映射到HTTP查询参数。例如,假设你想接收一个名为`limit`的整数参数:
```python
from pydantic import BaseModel
class PaginationQuery(BaseModel):
limit: int = None
```
2. **在路由函数中使用**: 然后,在你的FastAPI路由中,你可以使用这个模型作为`Depends()`的参数解析器,它会自动解析并验证查询参数。
```python
from fastapi import FastAPI, Query
app = FastAPI()
@app.get("/items", response_model=List[Item], dependencies=[Depends(PaginationQuery)])
async def read_items(limit: int = Query(None, ge=0)):
# 根据limit参数限制返回的项目数量
items = get_items(limit)
return items
```
在这个例子中,`Query()`装饰器用于设置默认值、允许的最大值等,并提供给`PaginationQuery`模型。
3. **处理缺失的参数**: 如果`limit`参数未提供,则`Query(None, ge=0)`会使其默认为None,并保证其值是非负的。
阅读全文