欢迎访问宙启技术站
智能推送

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/,并定义了两个表单参数:usernamepassword

其中,username的类型是strpassword的类型也是strForm(...)表示这两个参数都是必需的,如果缺少任何一个参数,将返回401错误。

当我们发送POST请求到/login/路由时,FastAPI会自动从请求的表单数据中提取出usernamepassword参数,并将它们传递给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提供了很多其他的验证器,比如EmailLength等,你可以根据需要进行使用。

希望上述例子对你有所帮助,祝你使用FastAPI开发愉快!