fastapi 判断传入参数的类型和数量
时间: 2023-12-14 08:05:22 浏览: 113
fastapi-mqtt:fastapi-mqtt是MQTT协议的扩展
5星 · 资源好评率100%
在 FastAPI 中,可以使用 Pydantic 模块来定义数据模型,然后使用 FastAPI 的参数声明来接收请求参数。这样可以方便地判断传入参数的类型和数量。
例如,定义一个接收两个整数参数的 API:
```python
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class Numbers(BaseModel):
x: int
y: int
@app.post("/add")
async def add_numbers(numbers: Numbers):
return numbers.x + numbers.y
```
在这个例子中,定义了一个 `Numbers` 类来表示两个整数参数,使用 FastAPI 的 `BaseModel` 来定义。然后在 API 中,使用 `Numbers` 类型的 `numbers` 参数来接收请求参数。如果传入的参数类型不符合定义,FastAPI 将会返回 422 Unprocessable Entity 错误。
同时,如果需要判断参数的数量,可以在参数名称后面加上 `...`,表示这个参数是一个包含多个值的列表。例如:
```python
@app.post("/sum")
async def sum_numbers(numbers: List[int]):
return sum(numbers)
```
在这个例子中,定义了一个接收多个整数参数的 API,使用 `List[int]` 类型的 `numbers` 参数来接收请求参数。如果传入的参数数量不符合定义,FastAPI 将会返回 422 Unprocessable Entity 错误。
阅读全文