pydantic 可选表单在表单丢失时返回 422

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

如何获得可选表格,

@app.post("/config", include_in_schema=False)
async def postconfig(request: Request,
    gitlabtoken:str = Form(...),
    gitlaburl:str = Form(...),
    projectids:str = Form(...),
    jobscopes:str = Form(...),
    filter:str = Form(...),
    blacklist:str = Form(...),
    historyurls:Optional[str] = Form(...)
):
    """ update config fields in mem """

当我使用historyurls =“”发布更新时,它无法通过pydantic返回422:

{"detail":[{"type":"missing","loc":["body","historyurls"],"msg":"Field required","input":null,"url":"https://errors.pydantic.dev/2.5/v/missing"}]}

我可以向historyurls添加一些东西,或者我也可以使用pydantic.ValidationError,但是Optional不应该处理这个吗?

fastapi pydantic
1个回答
0
投票

通过显式将 None 设置为默认值,使 Historyurls 接受 None :

historyurls: str = Form(None)

或者,

historyurls: Optional[str] = Form(None)
© www.soinside.com 2019 - 2024. All rights reserved.