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

在软件开发中,后端(Backend) 指的是负责处理用户请求、与数据库交互、执行业务逻辑的程序部分。而 FastAPI 是一个基于 Python 的现代 Web 框架,专门用来快速构建高性能的后端服务。
你可以把 FastAPI 想象成一辆“编程小车”,它可以帮你在网站背后运行代码,比如:
- 提供天气信息
- 接收用户注册信息并保存到数据库
- 创建 RESTful API 接口供其他程序调用
FastAPI 使用 Python 3.6+ 的特性(特别是异步功能),使得构建 API 更加简单、高效。而且,它的文档自动化生成能力非常强,非常适合初学者入门!
二、环境准备:搭建你的第一个 FastAPI 开发环境

为了开始使用 FastAPI,你需要安装一些必要的工具。别担心,每一步都很简单。
✅ 步骤 1:安装 Python
确保你的电脑已经安装了 Python。推荐使用 Python 3.8 或更高版本。
✅ 检查是否已安装 Python
在命令行输入:
python --version
如果看到类似 Python 3.10.x 的输出,说明你已经装好了 Python。
如果没有,请前往 https://www.python.org 下载并安装。
✅ 步骤 2:安装 FastAPI 和 Uvicorn
我们使用 pip 来安装 FastAPI 及其依赖。
打开终端或命令行,运行以下命令:
pip install fastapi uvicorn
解释一下:
fastapi:核心框架,用来定义接口uvicorn:FastAPI 的运行服务器,用来启动和测试项目
✅ 步骤 3:创建项目文件夹
新建一个文件夹用于存放你的 FastAPI 项目,例如:
fastapi-project/
└── main.py
在这个文件夹里,你会写你的第一个 FastAPI 应用。
三、核心概念:FastAPI 中最基础的几个知识点

我们先来认识几个关键词,它们是你编写 FastAPI 程序的必备零件!
🔹 1. 导入 FastAPI 类
所有 FastAPI 应用都要从导入 FastAPI 类开始。
from fastapi import FastAPI
这句话的意思是:“我要使用 FastAPI 这个框架”。
🔹 2. 创建应用实例
接下来,我们要创建一个 FastAPI 对象,作为整个项目的入口点:
app = FastAPI()
你可以理解为“我创建了一个叫 app 的网页服务。”
🔹 3. 定义路由(Route)
路由就像是网站上的一个个“门牌号”,告诉计算机访问哪个地址会触发哪段代码。
我们使用装饰器语法 @app.get() 来定义一个 GET 请求的路径:
@app.get("/")
def read_root():
return {"message": "欢迎来到我的第一个 FastAPI 服务!"}
这段代码表示:
- 当有人访问根路径
/时(也就是网址最后没有东西) - 执行
read_root()函数 - 返回一个 JSON 格式的欢迎消息
🔹 4. 运行服务器
我们使用 uvicorn 来运行这个应用:
uvicorn main:app --reload
解释一下:
main: 表示文件名是 main.pyapp: 表示要运行的对象是 main.py 中的 app--reload: 表示自动重新加载(当你修改代码后,服务器会自动重启)
访问 http://127.0.0.1:8000,你应该能看到如下结果:
{
"message": "欢迎来到我的第一个 FastAPI 服务!"
}
🔹 5. 自动生成的交互式 API 文档
FastAPI 非常贴心地为你自动生成了 API 文档。
访问这两个网址看看发生了什么:
- http://127.0.0.1:8000/docs: 显示 Swagger UI(可视化的交互式文档)
- http://127.0.0.1:8000/redoc: ReDoc 文档界面
这两个页面可以帮助你调试接口,即使你是零基础也能轻松测试。
四、实战项目:动手做一个 “问候 API”

现在,我们来做个小项目:创建一个可以根据名字打招呼的 API。
目标功能:
- 输入名字,返回 “你好, {name}!”
- 示例:访问
/hello/小明返回{ "message": "你好, 小明!" }
✅ 第一步:定义带路径参数的接口
编辑 main.py:
from fastapi import FastAPI
app = FastAPI()
@app.get("/hello/{name}")
def say_hello(name: str):
return {"message": f"你好, {name}!"}
在这段代码中:
{name}是一个路径参数(Path Parameter)- FastAPI 自动将 URL 中的名字提取出来,并传递给函数中的
name参数
✅ 第二步:运行服务
继续运行:
uvicorn main:app --reload
然后访问:http://127.0.0.1:8000/hello/小明
你应该看到如下结果:
{
"message": "你好, 小明!"
}
✅ 第三步:添加一个查询参数(Query Parameter)
我们再扩展功能:允许用户提供一个问候语,例如 ?greeting=早上好,则显示 “早上好, 小明!”
修改代码如下:
@app.get("/hello/{name}")
def say_hello(name: str, greeting: str = "你好"):
return {"message": f"{greeting}, {name}!"}
greeting: str = "你好"表示这是一个可选的查询参数,默认值是“你好”- 使用方式:
- 访问
/hello/小明?greeting=晚安→ 输出“晚安, 小明!”
- 访问
尝试在浏览器或文档页中测试一下吧!
五、常见问题解答(FAQ)
很多同学第一次使用 FastAPI 都会遇到一些问题,下面是一些常见的坑及解决方法:
❓1. 报错:Error loading ASGI app,是怎么回事?
✅ 常见原因:
- 文件名不是
main.py - 没有正确指定模块(如
uvicorn main:app写成了别的)
✅ 解决办法: 检查命令是否为:
uvicorn main:app --reload
如果你改了文件名,比如叫 api.py,那就要改成:
uvicorn api:app --reload
❓2. 我写了代码,但访问不了,怎么确认有没有错误?
✅ 解决办法:
- 查看控制台是否有报错信息(红色字体)
- 如果没有任何报错但无法访问,可能是 IP 地址不对(例如在某些云主机上需要用公网 IP)
✅ 检查方式:
访问 localhost:8000 或 127.0.0.1:8000
❓3. 为什么不能使用 POST 请求?
✅ 原因:你还没有学习 POST 方法的用法 😄
下节课我们就会讲 POST 请求的写法啦!
❓4. 怎样让别人访问我的本地 API?
✅ 初学阶段不建议开放公网访问,但如果一定要试:
- 使用内网穿透工具(如 Ngrok)
- 或者部署到免费平台(如 PythonAnywhere)
这部分内容我们会在后续进阶课程中讲解。
六、学习建议:下一步该学什么?

恭喜你完成了第一课!你现在已经是 FastAPI 的入门开发者了!
接下来你可以学习的方向包括:
🔹 学习更多 HTTP 方法
目前我们只用了 GET 请求,还可以学习:
POST:提交数据(例如注册表单)PUT:更新数据DELETE:删除数据
🔹 学习 Pydantic 模型(数据验证)
Pydantic 是 FastAPI 强大的武器之一,可以帮你验证输入数据的格式是否符合要求。
例如:判断用户名是否为空、邮箱是否合法等。
🔹 学习连接数据库(如 SQLite / MySQL / PostgreSQL)
通过数据库你可以保存用户的注册信息、商品数据等,实现真实的功能。
🔹 部署你的项目上线
学会如何把你的 FastAPI 项目发布到网络上,让别人能真正使用你的 API。
七、总结
本教程中,我们完成了:
- 了解 FastAPI 是什么及其用途
- 成功搭建开发环境并运行起第一个项目
- 学习了 FastAPI 的基本结构:创建 app、定义路由、传参方式
- 动手做了“带参数的问候 API”小项目
- 解答了新手常见的若干问题
- 给出了后续学习方向
希望这份《FastAPI 入门指南》能成为你踏上后端开发之路的第一步!
⭐️ 不要忘记多敲代码、多测试、多提问 —— 编程就是不断练习的过程!
附录:完整代码一览
# 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, greeting: str = "你好"):
return {"message": f"{greeting}, {name}!"}
记得运行服务的时候是:
uvicorn main:app --reload
祝你 Happy Coding 🎉

评论 0