如果您正在使用 Python 3.8,可以使用 type hinting 的标准语法来进行类型注释。Form()
类型仍然可用,但需要从 fastapi
模块中导入。在这种情况下,上面的代码可以修改为以下方式:
from fastapi import FastAPI, Formapp = FastAPI()@app.post("/login/")
async def login(username: str = Form(...), password: str = Form(...)):return {"username": username}
在这个例子中:
Form(...)
用于指定这两个参数将从form-data
中获取值,并告诉 fastAPI,这是必填参数(由于没有默认值)。此外,也可以将其设置为可选参数,例如使用Form(None)
。...
用于指定值是必填的,并充当默认值,如果省略了这个参数,body
中缺少此参数,则会引发验证错误。
需要注意的是,这种语法只适用于 Python 3.8 以及更高版本。如果您正在使用较早版本的 Python,您需要使用其他方式指定类型注释,例如使用字符串来指定类型。