我有一个带有 POST 方法的 python API,它的输入 JSON 结构如下:
{
"foo": 0,
"bar": 0,
"baz": "string",
}
但是这些默认值不适合我。
所需的默认 JSON 会将空值应用于每个字段,就像这样:
{
"foo": null,
"bar": null,
"baz": null,
}
使用 Pydantic
Field(example=None)
或 Field(default=None)
对我没有任何帮助。
我不知道 FastAPI 函数或属性可以帮助我实现我的目标。
要允许默认空值,您需要将其添加到字段的定义中。
您没有在原始消息中分享它,所以我创建了这个工作示例:
from pydantic import BaseModel
class PostRequestExample(BaseModel):
foo: int | None = None
bar: int | None = None
buz: str | None = None
@router.post('/post_example')
async def post_example(post_request: PostRequestExample):
return post_request