fastapi - 是否可以使用 fastapi 为请求正文的列表属性强加长度?
问题描述
是否可以在请求正文(或响应)的架构中指定列表的长度?支持使用Query函数验证在 url 中传递的字符串的长度,但我看不到列表。可能的用例是发送固定大小的浮点列表以馈送到 ML 模型。
解决方案
您可以将Field
函数与min_items
and一起使用max_items
:
from pydantic import Field
class Foo(BaseModel):
fixed_size_list_parameter: float = Field(..., min_items=4, max_items=4)
.. 或者您可以使用conlist
pydantic中的(受限列表)类型:
from pydantic import conlist
class Foo(BaseModel):
fixed_size_list_parameter: conlist(float, min_items=4, max_items=4)
这将列表限制为该float
类型的四个条目。
推荐阅读
- android - UIAutomator - 失败后的屏幕截图
- javascript - 初始组件时不以角度返回存储数据
- php - 使用phpmailer 5.2版本的问题
- pdf - 是否可以自动检查 PDF 是否遵循 PDF/UA 标准?
- shell - 如何在期望脚本的发送中使用 shell 命令的输出
- sql - SQL:根据表中保存的计算对每一行进行不同的计算
- android - 打开应用程序后 Flutter 崩溃
- python - 在 Vagrant 中安装 django-cron 时权限被拒绝
- db2 - DB2:LUW:Windows(OS) 无法调用 Java UDF
- pandas - 更改熊猫数据框的架构