FastAPI 是一个基于 Python 的现代、快速(高性能)的 Web 框架,它提供了简单易用的工具和功能,使得构建和部署 Web 应用变得非常简单和高效。
官网地址
FastAPI 的官方网站是 https://fastapi.tiangolo.com。你可以在官网上找到详细的文档、教程和示例代码,以及其他与 FastAPI 相关的资源。
常见场景
在开发 Web 应用过程中,常常需要实现 CRUD 功能。CRUD 是指对数据进行创建(Create)、读取(Read)、更新(Update)和删除(Delete)操作。以下是一些常见的场景和常遇到的问题:
- 创建(Create):如何从请求中获取数据并将其保存到数据库中?
- 读取(Read):如何从数据库中检索数据并将其返回给客户端?
- 更新(Update):如何接收客户端发送的更新数据并将其更新到数据库中?
- 删除(Delete):如何根据特定条件从数据库中删除数据?
怎么使用
为了使用 FastAPI 实现 CRUD 功能,我们需要按照以下步骤进行操作:
步骤 1:
安装 FastAPI首先,确保你的系统已经安装了 Python,并在命令行中执行以下命令来安装 FastAPI:
pip install fastapi
步骤 2:
创建 FastAPI 应用创建一个新的 Python 文件(例如 main.py
),并导入所需的模块和库:
from fastapi import FastAPI
from pydantic import BaseModel
from typing import List
app = FastAPI()
步骤 3:
定义数据模型使用 Pydantic 定义数据模型,例如:
class Item(BaseModel):
id: int
name: str
price: float
步骤 4:
创建 CRUD 路由和处理函数使用 FastAPI 创建路由和相应的处理函数来处理 CRUD 操作。以下是一个示例:
items = []
@app.get("/items", response_model=List[Item])
async def read_items():
return items
@app.post("/items", response_model=Item)
async def create_item(item: Item):
items.append(item)
return item
@app.put("/items/{item_id}", response_model=Item)
async def update_item(item_id: int, item: Item):
items[item_id] = item
return item
@app.delete("/items/{item_id}")
async def delete_item(item_id: int):
del items[item_id]
return {"message": "Item deleted"}
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="127.0.0.1", port=8000)
步骤 5:
运行应用要运行 FastAPI 应用程序,并测试 APIRouter 的功能,我们需要使用 uvicorn
这样的 ASGI 服务器。请确保你已经安装了 uvicorn
。你可以通过以下命令使用 pip 安装它:
pip install uvicorn
在你的 IDE 编辑器中,打开终端并导航到存储 main.py
文件的目录。然后运行以下命令启动应用程序:在终端中使用以下命令运行 FastAPI 应用:
uvicorn main:app --reload
这将在默认端口(通常是 8000)上启动 FastAPI 应用,并开启自动重载功能,使得在代码修改时自动重新加载应用。
步骤 6:
测试 CRUD 功能使用 HTTP 客户端工具(例如 cURL 或 Apifox)发送请求来测试创建、读取、更新和删除功能。以下是一些示例请求:
- 创建新项目:在 Apifox 中新建一个 POST 请求,填写接口路径和请求体,即可快速发送请求
POST http://localhost:8000/items
{
"id": 1,
"name": "Apple",
"price": 0.5
}
- 获取所有项目:在 Apifox 中新建一个 GET 请求,填写接口路径,即可快速发送请求
GET http://localhost:8000/items
- 更新项目:在 Apifox 中新建一个 PUT 请求,填写接口路径和请求体,即可快速发送请求
PUT http://localhost:8000/items/1
{
"id": 1,
"name": "香蕉",
"price": 5.6
}
- 删除项目:
DELETE http://localhost:8000/items/1
提示、技巧和注意事项
- 在编写 FastAPI 应用时,使用编辑器(例如 Visual Studio Code)可以提供代码自动补全、错误检查和调试功能,提高开发效率。
- 遵循良好的代码组织原则,将路由和处理函数分离到不同的模块中,以便于维护和扩展。
- FastAPI 支持异步操作,可以使用
async
和await
关键字来编写异步处理函数,提高应用的性能和并发能力。
总结
本文介绍了如何使用 FastAPI 快速实现 CRUD(增删改查)功能。通过按照上述步骤安装 FastAPI、创建应用、定义数据模型、编写路由和处理函数,并进行测试,你可以轻松构建具有强大性能的 Web 应用程序。FastAPI 的简洁、高效和易用的特性使得开发过程变得更加简单和愉快。
知识扩展
了解更多 FastAPI 相关使用技巧:
- FastAPI APIRouter 的用法
- 一文讲解 FastAPI 中 StreamingResponse 类怎么使用
参考链接: - FastAPI 官方网站: https://fastapi.tiangolo.com/