在 FastAPI 中,你可以使用路径参数并添加数值校验器来确保参数符合指定的规则。这包括对数值范围、整数/浮点数类型等方面的校验。以下是一个关于 FastAPI 路径参数和数值校验的简单教程:

1. 创建 FastAPI 应用

确保你已经创建了一个 FastAPI 应用。可以使用以下代码创建一个简单的应用:
from fastapi import FastAPI

app = FastAPI()

2. 路径参数和数值校验

在路由函数中,使用路径参数,并添加数值校验器来限制参数的取值。
from fastapi import Path

@app.get("/items/{item_id}")
async def read_item(item_id: int = Path(..., title="The ID of the item", ge=1, le=100)):
    return {"item_id": item_id}

在上述例子中,我们定义了一个名为 item_id 的路径参数,并使用 Path 类的参数进行了数值校验。具体的校验条件包括:

  •  ge=1:参数值必须大于等于 1。

  •  le=100:参数值必须小于等于 100。


3. 测试路径参数

通过发送 GET 请求,并在 URL 中传递路径参数,来测试我们的路由。
curl -X GET "http://127.0.0.1:8000/items/42"

或者使用 httpie:
http GET http://127.0.0.1:8000/items/ item_id==42

这将返回一个 JSON 响应:
{"item_id": 42}

4. 校验器的更多选项

除了上述示例中使用的校验条件外,Path 类还支持其他校验条件,例如:

  •  gt 和 lt:参数值的最小和最大值。

  •  ge 和 le:参数值的最小和最大值(包括等于)。

  •  multiple_of:参数值必须是指定值的倍数。


你可以根据具体需求选择适当的校验条件。有关更多信息,请参阅 FastAPI 文档中关于路径参数和校验的章节。

总结

使用数值校验器,你可以确保路径参数满足特定的条件,并提供详细的参数信息。FastAPI 提供了丰富的校验器和选项,以满足各种校验需求。在 FastAPI 文档中可以找到更多关于路径参数和校验的详细信息和用法示例。


转载请注明出处:http://www.pingtaimeng.com/article/detail/7365/FastAPI