FastAPI 安装
FastAPI 是用于快速构建 API 的 web 框架,依赖 Python 3.8 及更高版本。使用 pip
命令安装 fastapi
:
pip install fastapi
安装异步处理 ASGI 的服务器 Uvicorn
:
pip install "uvicorn[standard]"
补充知识:
Uvicorn 是 ASGI 的一个实现,它基于 Starlette 和 Uvicorn 的异步服务器,能够为 Django、FastAPI 等应用提供高性能的服务。
ASGI 异步处理服务器,通过允许程序在等待某些操作完成时继续执行其他任务,从而提高性能和响应性,减少资源浪费,避免资源闲置。这与同步处理服务器 WSGI 相反。在同步处理中,程序会阻塞,直到所需操作完成才能继续执行。
第一个 FastAPI 应用
创建一个名为 main.py
的文件,其中添加如下代码:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
运行程序,然后打开命令行输入如下命令以通过 Uvicorn
启动应用:
uvicorn main:app --reload
等待片刻后,打开浏览器并访问 http://127.0.0.1:8000 ,可以看到 FastAPI 自动生成的交互式文档,并在根路径 (“/”) 返回的 JSON 响应。
代码拆解分析
1. 导入必要的模块和类:
from fastapi import FastAPI
2. 创建 FastAPI 实例:
app = FastAPI()
在这一步,创建了一个 FastAPI 应用的实例,用于定义和管理应用的各个组件,包括路由。
3. 定义根路径 /
的路由操作:
@app.get("/")
def read_root():
return {"Hello": "World"}
路由操作使用 @app.get("/")
装饰器,表示当用户通过 HTTP GET 请求访问根路径时,将执行 read_root
函数。函数返回一个包含 {"Hello": "World"}
的字典,这个字典会被 FastAPI 自动转换为 JSON 格式并返回给用户。
4. uvicorn 配置并运行 ASGI 应用:
uvicorn main:app --reload
main
是 ASGI 应用的模块,app
是 ASGI 应用对象,--reload
参数表示 Uvicorn 将监视代码变更并自动重启服务器。
以上
2024.2.18