空值的FastAPI渲染

问题描述 投票:0回答:0

我目前正在使用 FastAPI 和 Pydantic 创建一个 enpoint。我有以下具有多个 None 值的 Pydantic 模型。这是模型的一部分:

class MyModel(BaseModel):
    comment: Optional[str] = Field(None, description='Comment')
    description: Optional[str] = Field(
        None, description='Description'
    )

到目前为止一切顺利。问题是当我实际使用这个模型作为 enpoint 的主体并打开我的服务的文档页面并检查 swagger ui 中的端点时,应该被视为 null 的字段的值被视为“字符串”并且不为空。像这样:

"comment": "string",
"description": "string"

这对我来说是个问题,因为最终用户将使用 swagger ui,如果未从有效负载中删除字段注释和描述,他们将获得默认值“string”,我希望它获得默认值 null。当然,我可以实现一些逻辑,即“string”在 enpoint 中实际上意味着 None,但是有没有办法从一开始就在 swagger ui 中显示这样的属性:

"comment": null,
"description": null

提前致谢!

python swagger fastapi openapi pydantic
© www.soinside.com 2019 - 2024. All rights reserved.