Hao Shan's Studio.

FastAPI

Word count: 619Reading time: 2 min
2025/05/09
loading

auth:Hao Shan

!注:本文档是个人使用的笔记而非教程,对阅读学习并不友好,如需帮助请联系作者

主要参考教程

https://fastapi.tiangolo.com/zh/tutorial/query-param-models/

https://www.runoob.com/fastapi/fastapi-tutorial.html

0 环境配置

基础配置

1
2
pip install fastapi
pip install "uvicorn[standard]" #安装一个ASGI服务器,这里选择的是ubicorn

后续开发可能需要安装别的软件环境,届时安装即可

1 代码基础

1.1 hello world

1
2
3
4
5
6
7
from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def root():
return {"message": "Hello World"}

代码解析:(这里简单解释,在1.3中还会具体介绍每一部分的含义)

  • from fastapi import FastAPI: 这行代码从< code>fastapi 模块中导入了 FastAPI 类。FastAPI 类是 FastAPI 框架的核心,用于创建 FastAPI 应用程序实例。
  • app = FastAPI():这行代码创建了一个 FastAPI 应用实例。与 Flask 不同,FastAPI 不需要传递 __name__ 参数,因为它默认使用当前模块。
  • @app.get("/"): 这是一个装饰器,用于告诉 FastAPI 哪个 URL 应该触发下面的函数,并且指定了 HTTP 方法为 GET。在这个例子中,它指定了根 URL(即网站的主页)。
  • def read_root():: 这是定义了一个名为 read_root 的函数,它将被调用当用户使用 GET 方法访问根 URL 时。
  • return {"Hello": "World"}: 这行代码是 read_root 函数的返回值。当用户使用 GET 方法访问根 URL 时,这个 JSON 对象将被发送回用户的浏览器或 API 客户端。

1.2 代码运行

示例:运行当前路径下main.py中的代码(--reload参数指明代码修改后会自动重新启动服务器)

1
uvicorn main:app --reload

1.3 基础代码架构

后端与客户端的

Step1 导入必要的软件包

必须导入FastAPI,除此之外还可以导入其他所需的软件包

1
2
3
4
#必要
from fastapi import FastAPI
#常用可选
from typing import Union

Step2 创建FastAPI实例

1
app=FastAPI()

Step3 创建一个路径操作——定义操作类型,以及要操作的路径

这里以python装饰器的形式实现

例:

1
@app.get("/")

例解:

  • 请求路径为 /
  • 使用 get 操作

这里常用的操作有:

  • post:创建数据;
  • get:读取数据;
  • put:更新数据;
  • delete:删除数据。

Step4 定义路径操作函数

2 交互式文档

http://127.0.0.1:8000/docs

http://127.0.0.1:8000/redoc

CATALOG
  1. 1. 0 环境配置
  2. 2. 1 代码基础
    1. 2.1. 1.1 hello world
    2. 2.2. 1.2 代码运行
    3. 2.3. 1.3 基础代码架构
      1. 2.3.1. Step1 导入必要的软件包
      2. 2.3.2. Step2 创建FastAPI实例
      3. 2.3.3. Step3 创建一个路径操作——定义操作类型,以及要操作的路径
      4. 2.3.4. Step4 定义路径操作函数
  3. 3. 2 交互式文档