FastAPI 快速 crud(增删改查)

本文介绍了如何使用 FastAPI 快速实现 CRUD(增删改查)功能

用 Apifox,节省研发团队的每一分钟

FastAPI 快速 crud(增删改查)

免费使用 Apifox

相关推荐

最新文章

API

一体化协作平台

API 设计

API 文档

API 调试

自动化测试

API Mock

API Hub

立即体验 Apifox
目录

FastAPI 是一个基于 Python 的现代、快速(高性能)的 Web 框架,它提供了简单易用的工具和功能,使得构建和部署 Web 应用变得非常简单和高效。

Python 的 FastAPI 框架
Python 的 FastAPI 框架

官网地址

FastAPI 的官方网站是 https://fastapi.tiangolo.com。你可以在官网上找到详细的文档、教程和示例代码,以及其他与 FastAPI 相关的资源。

常见场景

在开发 Web 应用过程中,常常需要实现 CRUD 功能。CRUD 是指对数据进行创建(Create)、读取(Read)、更新(Update)和删除(Delete)操作。以下是一些常见的场景和常遇到的问题:

  1. 创建(Create):如何从请求中获取数据并将其保存到数据库中?
  2. 读取(Read):如何从数据库中检索数据并将其返回给客户端?
  3. 更新(Update):如何接收客户端发送的更新数据并将其更新到数据库中?
  4. 删除(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
}
FastAPI 的添加功能

  • 获取所有项目:在 Apifox 中新建一个 GET 请求,填写接口路径,即可快速发送请求
GET http://localhost:8000/items
FastAPI 的查询功能

  • 更新项目:在 Apifox 中新建一个 PUT 请求,填写接口路径和请求体,即可快速发送请求
PUT http://localhost:8000/items/1
{
    "id": 1,
    "name": "香蕉",
    "price": 5.6
}
FastAPI 的更新功能

  • 删除项目:
DELETE http://localhost:8000/items/1
FastAPI 的删除功能

提示、技巧和注意事项

  • 在编写 FastAPI 应用时,使用编辑器(例如 Visual Studio Code)可以提供代码自动补全、错误检查和调试功能,提高开发效率。
  • 遵循良好的代码组织原则,将路由和处理函数分离到不同的模块中,以便于维护和扩展。
  • FastAPI 支持异步操作,可以使用 asyncawait 关键字来编写异步处理函数,提高应用的性能和并发能力。

总结

本文介绍了如何使用 FastAPI 快速实现 CRUD(增删改查)功能。通过按照上述步骤安装 FastAPI、创建应用、定义数据模型、编写路由和处理函数,并进行测试,你可以轻松构建具有强大性能的 Web 应用程序。FastAPI 的简洁、高效和易用的特性使得开发过程变得更加简单和愉快。

知识扩展

了解更多 FastAPI 相关使用技巧: