当您需要接收表单字段而不是JSON时,可以使用Form。
信息 要使用表单,请先安装python-multipart。 例如。
pip install python-multipart。
导入Form
from fastapi import FastAPI, Form
定义Form参数
以与“正文”或“查询”相同的方式创建表单参数:
from fastapi import FastAPI, Formapp = FastAPI()@app.post("/login/")async def login(*, username: str = Form(...), password: str = Form(...)):return {"username": username}
例如,以一种可以使用OAuth2规范的方式(称为“密码流”),需要发送username和password作为表单字段。
规范要求这些字段必须准确命名为username和password,并作为表单字段(而不是JSON)发送。
使用Form,您可以声明与Body(以及Query,Path,Cookie)相同的元数据和验证。
信息 Form是直接从Body继承的类。
关于 “Form Fields”
HTML表单(<form></form>)将数据发送到服务器的方式通常对该数据使用“特殊”编码,这与JSON不同。
FastAPI将确保从正确的位置而不是JSON读取数据。
