【后端】 FastAPI
🚀 FastAPI 是什么?
FastAPI 是一个用于构建 Web API 的 Python 框架。
可以理解成:
🧰 “一个工具箱,让你用 Python 写出能被浏览器、App、小程序调用的接口(API)。”
🔧 那什么是 API?
API 就是别人(客户端)通过 URL 请求,你(服务器)给他数据的接口。
比如你访问这个地址:
POST https://myapi.com/register
发送了这个请求:
{"username": "alice","password": "123456"
}
FastAPI 会帮你处理这段请求,然后你写代码告诉它怎么响应(比如生成一个 JWT 令牌,返回给客户端)。
✅ FastAPI 的特点:
特性 | 解释 |
---|---|
🚀 非常快 | 它基于异步框架 Starlette,性能非常好,适合写高性能 API。 |
🤖 自动文档 | 启动后自动生成 Swagger 文档界面(你可以点击测试接口!) |
🛡️ 类型检查强 | 结合 Pydantic,能自动验证数据格式,避免脏数据。 |
🔐 集成 JWT、OAuth2 | 非常方便做身份验证、权限控制。 |
🔍 开发体验好 | 编码少、运行快、调试爽,适合学习和快速开发。 |
🧠 用 FastAPI 你能做什么?
注册 / 登录系统 ✔
上传图片、文件 ✔
图像处理 API ✔(正是你这个项目要用的)
聊天服务接口
移动 App 的后端
微信小程序后端
甚至能做网页页面(不常用)
📊 FastAPI 和其他 Python 框架对比:
框架 | 适合用途 | 特点 |
---|---|---|
Flask | 小项目、教程、博客 | 轻量,但功能全靠手动拼 |
Django | 后台管理系统 | 内置 ORM + 后台,非常重型 |
FastAPI | 高性能 API、AI 服务 | 快、强、现代化、文档自动生成 |
👨💻 FastAPI 小例子:
from fastapi import FastAPIapp = FastAPI()@app.get("/")
def hello():return {"msg": "Hello World"}
你运行后打开浏览器,访问 http://localhost:8000
,就会看到:
{"msg": "Hello World"}
🧪 自动生成的文档界面:
FastAPI 启动后自动生成两个网页:
http://localhost:8000/docs
→ Swagger UI,可以点点点测试接口http://localhost:8000/redoc
→ ReDoc 格式的 API 文档