推荐答案
在 FastAPI 中,可以使用 Form 来接收表单数据。首先需要导入 Form,然后在路由处理函数的参数中使用它来接收表单字段。以下是一个示例:
from fastapi import FastAPI, Form
app = FastAPI()
@app.post("/login/")
async def login(username: str = Form(...), password: str = Form(...)):
return {"username": username}在这个示例中,username 和 password 是通过表单提交的两个字段,Form(...) 表示这些字段是必填的。
本题详细解读
1. 导入 Form
要使用 Form,首先需要从 fastapi 模块中导入它:
from fastapi import Form
2. 定义路由处理函数
在路由处理函数中,使用 Form 来接收表单数据。Form(...) 表示该字段是必填的。如果字段是可选的,可以使用 Form(None) 或 Form(default_value)。
@app.post("/login/")
async def login(username: str = Form(...), password: str = Form(...)):
return {"username": username}3. 处理表单数据
在路由处理函数中,可以直接使用 username 和 password 这两个参数来处理表单数据。例如,可以将它们存储在数据库中,或者进行验证等操作。
4. 返回响应
最后,路由处理函数可以返回一个 JSON 响应,包含处理后的数据或其他信息。
5. 注意事项
Form只能用于POST请求,因为表单数据通常是通过POST请求提交的。- 如果需要处理文件上传,可以使用
File和UploadFile。 Form是 FastAPI 提供的一个依赖项,用于解析表单数据并将其转换为 Python 类型。