这个分步指南向你展示如何使用FastAPI编写第一个Restful API: Hello World项目。事不宜迟,我们开始吧。
FastAPI 是什么?
FastAPI 是一个现代、高性能的 Python Web 框架,专为构建 API(应用程序接口)而设计。它结合了以下特点:
速度快:性能接近 Node.js 和 Go(基于 Starlette 和 Pydantic)
- 开发效率高:极简的代码即可实现复杂功能
- 类型提示支持:基于 Python 类型注解(Type Hints)自动验证请求数据
- 自动文档生成:内置 Swagger UI 和生成接口文档
- 异步支持:原生兼容 async/await 语法
核心特性
特性 | 说明 |
---|---|
类型驱动开发 | 使用 Python 类型注解定义请求/响应模型,自动验证数据格式 |
依赖注入系统 | 灵活管理代码依赖(如数据库连接、认证) |
OAuth2/JWT 支持 | 内置安全工具,快速实现身份验证和授权 |
WebSocket 支持 | 轻松处理实时双向通信 |
OpenAPI 标准 | 自动生成符合 OpenAPI 规范的文档(Swagger UI) |
搭建环境
创建一个新目录来承载示例项目:
mkdir fastapi01
导航到新创建的文件夹,然后通过执行以下命令初始化Python虚拟环境, 然后激活虚拟环境:
Python3 -m venv
source env/bin/activate
安装包
除了FastAPI,我们还需要使用另一个名为uvicorn的包。Uvicorn是一个Python的web服务器实现,它可以帮助我们启动我们的后端,这样它就可以从web浏览器或任何HTTP客户端(Postman, Thunder client等)访问。此外,当我们更改代码时,uvicorn还可以自动重新加载服务器,使我们的工作过程更快,更高效。
在上一步激活的环境中,执行如下命令:
pip install fastapi uvicorn
编写代码
在项目文件夹中,创建一个名为main.py的新文件。项目文件结构现在看起来像这样:
.
├── env
├── __pycache__
└── main.py
main.py代码如下:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def hello_world():
return {
"success": True, "message":