Swagger API:不应接受 Null

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

我已将以下内容添加到 api 的 swagger 定义中。

value : BooleanEnum = Query ( False, alias="value")

class BooleanEnum(str, Enum):
    true = "true"
    false = "false"
    @classmethod
    def _missing_(cls, value):
        return cls.__members__.get(value.lower(), None)

Swagger 文档仍然接受空值并将其显示为选择选项之一。不过,默认设置为 False。

如何将选择限制为 True 和 False,以便用户必须选择其中一个选项,并且不提供任何选择来接受 Null 响应。

python swagger fastapi swagger-ui pydantic
1个回答
0
投票

这是 FastAPI 的常见行为,因为您为查询参数设置了默认值。因此,您的 API 接受三个值

true
false
None
(由
false
替换)。如果您将其删除并改为
Query(..., alias="value")
,它将让用户选择两个枚举值之一,并且不允许发送
None
值。

© www.soinside.com 2019 - 2024. All rights reserved.