推荐答案
在 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 类型。