FastAPI 参数验证
可以对路径参数以及URL的查询参数应用 验证条件 。为了在路径参数上应用验证条件,你需要导入路径类。除了参数的默认值外,如果是字符串参数,你可以指定最大和最小长度。
如果浏览器的URL包含长度小于3或大于10的参数,如(http://localhost:8000/hello/Tutorialspoint),则会出现适当的错误消息,如 −
OpenAPI的文档也显示了应用的验证 —
验证规则也可以应用在数字参数上,使用下面给出的运算符。
- gt – 大于
-
ge – 大于或等于
-
lt – 小于
-
le – 小于或等于
让我们修改上述操作装饰器,将年龄作为路径参数,并应用验证。
在这种情况下,验证规则同时适用于参数名称和年龄。如果输入的URL是http://localhost:8000/hello/hi/110,那么JSON响应显示以下验证失败的解释 –
swagger UI文档也指出了这些约束。
查询参数也可以有适用于它们的验证规则。你必须指定它们作为查询类构造函数的参数的一部分。
让我们在上述函数中添加一个名为 百分数 的查询参数,并应用验证规则为 ge=0 (即大于等于0)和 lt=100 (小于等于100)。
如果输入的URL是http://localhost:8000/hello/Ravi/20?percent=79,那么浏览器会显示以下JSON响应—-。
FastAPI正确地将百分比识别为应用了验证条件的查询参数。它在OpenAPI文档中反映如下:
虽然客户端可以使用GET方法向API服务器发送路径和查询参数,但我们需要应用POST方法来发送一些二进制数据作为HTTP请求的一部分。这个二进制数据可以是任何Python类的对象的形式。它构成了请求主体。FastAPI使用Pydantic库来实现这一目的。