FastAPI入门:Python后端开发新手指南
开篇:什么是FastAPI?它能做什么?

你是不是也好奇,后端到底是什么?通俗地说,后端就像一个网站或App的“大脑”和“心脏”——负责处理用户请求、读写数据,并把结果返回给前端展示。
那今天我们来认识一位后端领域的新朋友:FastAPI。它是一个用 Python 编写的高性能 Web 框架,专门用于构建 RESTful API 接口服务(比如微信小程序、手机App的数据接口)。
它的主要优点包括:
- ✅ 使用简单,适合初学者快速上手
- ✅ 自动生成交互式 API 文档(Swagger + ReDoc)
- ✅ 性能接近 Node.js 和 Go 的水平
- ✅ 支持异步编程(async/await)
所以如果你是刚学习编程的新人,又想尝试做后端开发,FastAPI 是一个非常不错的起点!
环境准备:搭建你的第一个FastAPI开发环境

在正式开始编码之前,你需要准备好一个干净的 Python 开发环境。
第一步:安装Python
确保你电脑上已经安装了 Python 3.8 或更高版本。你可以通过以下命令查看是否安装成功:
python --version
或者 Mac/Linux 用户:
python3 --version
如果还没有安装,请前往官网下载并安装最新版:https://www.python.org/downloads/
第二步:创建项目文件夹
打开终端或命令行工具,在你喜欢的位置新建一个项目目录,例如:
mkdir fastapi-tutorial
cd fastapi-tutorial
推荐使用虚拟环境来隔离不同项目的依赖包:
python -m venv venv
source venv/bin/activate # Linux/macOS
venv\Scripts\activate # Windows
第三步:安装FastAPI和启动服务器
FastAPI本身只提供了核心功能,还需要配合异步服务器 uvicorn 来运行。我们来安装它们:
pip install fastapi uvicorn
现在就可以开始写代码啦!
核心概念:理解FastAPI中的关键术语

下面我们会用最简单的语言解释几个常用的概念,并结合示例帮助你理解。
1. 什么是 API?为什么它这么重要?
想象你正在用手机订外卖,当你点击“下单”时,手机其实是通过互联网向服务器发送了一个请求,然后服务器给你返回一个结果(比如订单号)。这个过程靠的就是 API —— 它是前后端沟通的语言。
在FastAPI中,你只需要定义好这些通信规则,它就能自动帮你生成文档和接口逻辑。
2. 路由(Route)与请求方法
路由是指访问某个功能的路径。例如:
/user/login/search?keyword=咖啡
FastAPI支持多种请求方法(也叫HTTP方法):
| 方法名 | 中文含义 | 常见用途 |
|---|---|---|
| GET | 获取资源 | 查询数据 |
| POST | 提交数据 | 创建新数据 |
| PUT | 修改数据 | 更新已有数据 |
| DELETE | 删除数据 | 删除数据 |
3. 异步函数(async def)
现代后端常常需要同时处理很多请求,而 Python 的 async/await 可以让你的程序“聪明地等待”,不会被卡住。你不用太担心细节,但建议记住:
在 FastAPI 中我们可以使用 async def 来编写更高效的接口函数。
实战项目:做一个“问候语API”

我们从最基础的例子开始——实现一个可以根据名字打招呼的小接口。
第一步:创建主程序文件
在项目目录下新建一个文件:main.py
写入以下内容:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"message": "你好!欢迎来到 FastAPI 世界"}
@app.get("/hello/{name}")
def say_hello(name: str):
return {"greeting": f"Hello, {name}!"}
这是什么意思呢?我们逐句分析:
app = FastAPI()创建一个应用实例@app.get("/")表示当访问根目录时执行下面的函数say_hello函数接收一个名字参数,并返回一个问候字典
第二步:启动服务器
在命令行中输入以下命令运行服务:
uvicorn main:app --reload
此时你会看到类似如下信息:
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [1234] using statreload
INFO: Started server process [5678]
说明服务已经在本地运行成功。
第三步:测试接口
方法一:浏览器直接访问
打开浏览器,分别访问:
你会看到返回的 JSON 数据。
方法二:使用自动生成的API文档
FastAPI 默认提供两个在线文档界面:
- Swagger UI(可视化界面):http://localhost:8000/docs
- ReDoc(另一种格式):http://localhost:8000/redoc
你可以在这里看到所有接口,并且可以直接发送请求进行测试。
常见问题解答(FAQ)
Q1:我访问 /docs 页面出现错误怎么办?
请确认你在启动服务时使用了 uvicorn,并检查 main.py 文件是否存在拼写错误。另外确保没有占用8000端口。
Q2:如何修改默认的端口号?
可以用如下命令更改端口(例如改为8080):
uvicorn main:app --host 0.0.0.0 --port 8080
Q3:我可以把 FastAPI 部署上线吗?
当然可以!部署方式有很多,常见做法包括:
- 使用 Gunicorn + Uvicorn 启动生产模式
- 配合 Nginx 做反向代理
- 部署到云服务器或容器平台(如 Docker、Kubernetes)
不过这属于进阶内容,后面再讲 😄
学习建议:下一步该学什么?
恭喜你完成第一个FastAPI小项目!
接下来可以尝试拓展以下几个方向:
✅ 数据库连接:学习将 FastAPI 与数据库结合(如 SQLite、PostgreSQL、MongoDB),存储和查询真实数据。
✅ 请求体与模型验证:学习 pydantic,它是 FastAPI 的核心组件之一,用于校验用户传来的数据结构。
✅ 异步与并发:了解 async def 在实际场景中的使用场景和好处。
✅ 权限控制与JWT认证:为接口添加登录验证机制,保护敏感数据。
✅ 微服务架构入门:学习将多个 FastAPI 应用整合成一个完整系统。
结语:勇敢迈出第一步!
FastAPI 作为一门轻量高效、适合初学者的后端技术,是你进入后端世界的良好起点。这篇文章只是一个引导性的入门教程,真正的掌握还是要通过不断实践。
🔁 多敲代码、多试错、多问问题 —— 这才是学习的正确姿势!
祝你在编程的世界里越走越远 🚀

评论 0