本地环境及软件:

  • windows 11
  • anaconda
  • vscode
  • python3.11

安装相关环境

创建虚拟环境

1
2
# 创建环境
conda create -n fastapi python=3.11

安装需要的包

1
2
3
4
5
# 激活虚拟环境
conda activate fastapi

# 为学习教程,安装fastapi及所有的可选依赖及对应功能,包括uvicorn
pip install fastapi[all]

初次运行

编写代码

新建文件夹,创建main.py

1
2
3
4
5
6
7
8
from fastapi import FastAPI

app = FastAPI()


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

启动

1
2
3
4
# port默认8000
uvicorn main:app --reload
# 或
uvicorn main:app --reload --port 8000

uvicorn main:app 命令含义如下:

  • main:main.py 文件(一个 Python「模块」)。
  • app:在 main.py 文件中通过 app = FastAPI() 创建的对象。
  • –reload:让服务器在更新代码后重新启动。仅在开发时使用该选项。
  • –port: 指定端口

控制台会有以下输出:
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)

访问地址,即可看到响应:

1
{"message":"Hello World"}

API文档

自动生成的交互式 API 文档

  • Swagger UI : http://127.0.0.1:8000/docs
  • Redoc : http://127.0.0.1:8000/redoc
  • openapi.json : http://127.0.0.1:8000/openapi.json
    FastAPI 使用定义 API 的 OpenAPI 标准将你的所有 API 转换成「模式」。