对于FastAPI PYDANIC接口,我希望是尽可能可接受的,比如接收字符串参数的整数并将该整数解析为字符串:

from pydantic import BaseModel

class FooBar(BaseModel):
    whatever: str
    
FooBar(whatever=12)

提供:

ValidationError: 1 validation error for FooBar
whatever
  Input should be a valid string [type=string_type, input_value=12, input_type=int]
    For further information visit https://errors.pydantic.dev/2.4/v/string_type

我认为在早期版本中,这是可能的.

  • Python3.10
  • 夸张==2.4.2
  • PYDANIC_CORE==2.10.1

推荐答案

该功能是在2.4.0版中重新引入的.您需要添加coerce_numbers_to_str configuration:

from pydantic import BaseModel, ConfigDict

class FooBar(BaseModel):
    model_config = ConfigDict(coerce_numbers_to_str=True)

    whatever: str

Python相关问答推荐

如何处理嵌套的SON?

GL pygame无法让缓冲区与vertextPointer和colorPointer一起可靠地工作

多处理代码在while循环中不工作

比较两个二元组列表,NP.isin

提取两行之间的标题的常规表达

在Wayland上使用setCellWidget时,try 编辑QTable Widget中的单元格时,PyQt 6崩溃

优化器的运行顺序影响PyTorch中的预测

如何使用SentenceTransformers创建矢量嵌入?

在两极中过滤

使用特定值作为引用替换数据框行上的值

判断solve_ivp中的事件

Flask Jinja2如果语句总是计算为false&

仅使用预先计算的排序获取排序元素

如何使用matplotlib查看并列直方图

有没有办法让Re.Sub报告它所做的每一次替换?

Seaborn散点图使用多个不同的标记而不是点

操作布尔值的Series时出现索引问题

上传文件并使用Panda打开时的Flask 问题

按条件计算将记录拆分成两条记录

类型对象';敌人';没有属性';损害';