FastAPI之表单数据

FastAPI 表单数据处理教程

FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,它用 Python 3.6+类型提示的特性旨在方便和快速地设计和构建 APIs,并且减少代码的冗余与错误。下面将介绍如何在 FastAPI 中处理表单数据。

安装 FastAPI 和 Uvicorn

首先,确保你已经安装了FastAPI和Uvicorn,它们将允许我们运行我们的Web应用。在命令行中运行以下命令来安装这些包(如果你尚未安装):

pip install fastapi
pip install uvicorn

要使用表单,需预先安装 python-multipart

pip install python-multipart

创建 FastAPI 应用

创建一个新的 Python 文件,如 main.py,并导入需要的模块:

from fastapi import FastAPI, Form
from pydantic import BaseModel
from typing import Optional

app = FastAPI()

创建表单数据模型

虽然处理表单时通常不需要Pydantic模型,但定义它可以让我们更便捷地进行验证和文档化。

class Item(BaseModel):
    name: str
    description: Optional[str] = None
    price: float
    tax: Optional[float] = None

创建 POST 路由处理表单提交

在FastAPI中创建一个接受表单数据的路由。我们将使用Form类来定义应该从表单中接收哪些字段。

@app.post("/items/")
async def create_item(name: str = Form(...), description: str = Form(None), 
                      price: float = Form(...), tax: Optional[float] = Form(None)):
    item = {"name": name, "description": description, "price": price, "tax": tax}
    return item

在上面的例子中, ... 表明该字段是必填的,而 None 则意味着该字段是可选的。

运行应用

现在,你可以通过 Uvicorn 来运行你的应用。在命令行中运行以下命令:

uvicorn main:app --reload

--reload 参数使得在代码更新时服务器能够自动重新加载。

测试应用

打开浏览器,访问 http://127.0.0.1:8000/docs ,你将看到由 FastAPI 自动生成的交互式API文档。

在文档页面上,你能看到你创建的 /items/ 路由。你可以使用“Try it out”功能来发送一个表单数据请求,填写相应字段并执行。
FastAPI之表单数据_第1张图片

总结

在这份教程中,我们学会了如何在 FastAPI 中通过创建简单的路由处理表单数据。你可以使用Form帮助表单验证和自动生成文档。通过结合 FastAPI 自动生成的文档,可以方便地测试和交互你的 API。

希望你能在构建自己的 FastAPI 应用时找到这份教程有用。快去试试吧!

你可能感兴趣的:(fastapi)