FastAPI中基于表单的输入处理和验证入门
发布时间:2023-12-15 23:07:05
在FastAPI中,可以使用基于表单的输入处理和验证来处理来自表单的用户输入。以下是一个简单的使用例子:
首先,安装FastAPI和相应的依赖:
$ pip install fastapi $ pip install uvicorn
然后,创建一个名为main.py的文件,并在其中编写以下代码:
from fastapi import FastAPI, Form
app = FastAPI()
@app.post("/login/")
async def login(username: str = Form(...), password: str = Form(...)):
return {"username": username}
这个例子中,我们创建了一个POST请求的路由/login/,并定义了两个表单参数:username和password。
其中,username的类型是str,password的类型也是str。Form(...)表示这两个参数都是必需的,如果缺少任何一个参数,将返回401错误。
当我们发送POST请求到/login/路由时,FastAPI会自动从请求的表单数据中提取出username和password参数,并将它们传递给login函数。函数执行完后,返回一个包含username的JSON响应。
然后,启动应用程序:
$ uvicorn main:app --reload
现在,我们可以使用任何HTTP工具(如cURL或Postman)向http://localhost:8000/login/发送POST请求。例如,使用cURL发送请求:
$ curl -X POST -d "username=test&password=pass" http://localhost:8000/login/
你会收到一个JSON响应:
{"username":"test"}
如果缺少任何一个参数,将返回一个包含错误消息的JSON响应。
使用基于表单的输入处理和验证,可以很方便地处理来自表单的用户输入。FastAPI提供了很多其他的验证器,比如Email、Length等,你可以根据需要进行使用。
希望上述例子对你有所帮助,祝你使用FastAPI开发愉快!
