脚踏实地的大梦想家

脚踏实地的大梦想家

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

【FastAPI】P1 安装与第一个 FastAPI 应用-LMLPHP

等待片刻后,打开浏览器并访问 http://127.0.0.1:8000 ,可以看到 FastAPI 自动生成的交互式文档,并在根路径 (“/”) 返回的 JSON 响应。

【FastAPI】P1 安装与第一个 FastAPI 应用-LMLPHP


代码拆解分析

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

02-19 13:09