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

你有没有想过,当你在网页上输入一个地址,点击“登录”按钮或者发送一条消息时,这些操作的背后到底是怎么工作的呢?答案就是——后端服务。
今天我们要学习的 FastAPI,就是用来帮你快速开发这种后端服务的一个 Python 框架。
它特别适合刚接触编程的新手,因为:
- 它使用的是我们熟悉的语言——Python
- 它非常高效,可以处理大量请求
- 它自动生成文档,方便调试和测试
- 学习曲线平缓,代码简洁明了
你能用 FastAPI 做什么?
FastAPI 可以帮你创建很多类型的后端应用,比如:
- 用户注册/登录系统
- 商品信息展示接口(如电商网站)
- 聊天机器人后台
- 数据统计分析服务
一句话总结:你可以用 FastAPI 把你的想法变成能被别人访问的互联网服务。
环境准备:搭建我们的开发环境

开始之前,我们需要先准备好运行 FastAPI 的“舞台”。这里我们从最基础的步骤讲起,确保零基础的你也能够轻松搞定。
第一步:安装 Python
如果你还没安装 Python,建议去官网下载最新版本(推荐 3.9+):https://www.python.org/
Windows 用户记得勾选“Add to PATH”,Mac 和 Linux 一般自带,但也可以升级最新版本。
验证是否安装成功:
python --version
出现类似 Python 3.10.6 就说明安装好了。
第二步:安装 FastAPI 和 Uvicorn
我们通过 pip 安装 FastAPI:
pip install fastapi uvicorn
解释一下这两个工具是干什么的:
| 工具名 | 作用说明 |
|---|---|
| FastAPI | 我们要用的核心框架 |
| Uvicorn | 一个高性能的服务器引擎,用来运行 FastAPI 应用 |
第三步:安装代码编辑器(推荐 VSCode)
你可以选择任何你喜欢的编辑器,但作为新手强烈推荐 Visual Studio Code(简称 VSCode),因为它免费、功能强大,且对 Python 支持非常好。
在 VSCode 中安装 Python 扩展插件(搜索栏输入 "Python"),这将帮助你更方便地编写和运行 Python 代码。
验证一切是否就绪
新建一个文件叫 main.py,写入以下内容:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"message": "欢迎来到我的第一个FastAPI项目!"}
然后在命令行中运行:
uvicorn main:app --reload
⚠️ 如果报错找不到
uvicorn,请检查是否第二步正确安装。
打开浏览器,访问 http://localhost:8000 ,你应该会看到:
{"message": "欢迎来到我的第一个FastAPI项目!"}
✅ 成功啦!我们的第一个 FastAPI 接口已经上线!
核心概念:用最简单的语言解释关键知识点

接下来我们会讲解几个关键的 FastAPI 概念,并配上例子。不用担心,它们都非常简单,只需要一点点耐心就能理解。
📌 路由(Route)
路由就像导航地图上的路线,告诉程序当用户访问某个网址时该执行哪个函数。
示例:添加一个 /hello 接口
@app.get("/hello")
def say_hello():
return {"data": "你好呀,世界!"}
现在访问 http://localhost:8000/hello 你会看到返回的 JSON。
📌 请求方法(GET / POST / PUT / DELETE)
常见的请求方法有四种:
| 方法名 | 用途示例 |
|---|---|
| GET | 获取数据(如查看商品信息) |
| POST | 提交数据(如注册或登录) |
| PUT | 更新数据 |
| DELETE | 删除数据 |
示例:POST 提交数据
from fastapi import FastAPI
from pydantic import BaseModel
class Item(BaseModel):
name: str
price: float
@app.post("/items/")
def create_item(item: Item):
return {"received": item}
现在访问 http://localhost:8000/docs,你会看到自动生成的交互式 API 文档,在那里你可以尝试发送 POST 请求试试看!
📌 参数传递方式
FastAPI 支持多种参数接收方式:
- 路径参数(Path Parameters)
例如/user/{user_id}中的user_id是路径参数
@app.get("/users/{user_id}")
def get_user(user_id: int):
return {"id": user_id}
- 查询参数(Query Parameters)
例如访问/search?name=Tom中的name是查询参数
@app.get("/search")
def search(name: str = None):
return {"query": name}
📌 响应与状态码
默认返回的是 200 状态码表示“OK”。
如果你想让程序返回不同的结果,比如 404 表示“找不到资源”,可以用如下方式:
from fastapi import FastAPI, HTTPException
@app.get("/products/{product_id}")
def read_product(product_id: int):
if product_id <= 0:
raise HTTPException(status_code=404, detail="产品不存在")
return {"product_id": product_id}
实战项目:做一个简易待办事项(Todo)管理接口

现在我们来动手做一个小型项目——创建一个用于管理待办事项的后端 API。
功能清单:
- 查看所有待办项
- 添加一个新的待办项
- 删除一个待办项
- 返回漂亮的文档页面(自动完成)
第一步:创建一个 Todo 数据模型
我们将使用 Pydantic 来定义数据结构:
from fastapi import FastAPI
from pydantic import BaseModel
from typing import List
app = FastAPI()
# 数据模型
class TodoItem(BaseModel):
id: int
title: str
done: bool = False
# 模拟数据库
todos_db = []
@app.get("/todos", response_model=List[TodoItem])
def list_todos():
return todos_db
访问 http://localhost:8000/todos,你应该看到返回空数组 []。
第二步:增加一个新的 Todo
@app.post("/todos")
def add_todo(todo: TodoItem):
todos_db.append(todo)
return {"message": "新增成功"}
试着通过 Swagger 文档提交一个任务看看。
第三步:删除某条 Todo
@app.delete("/todos/{todo_id}")
def delete_todo(todo_id: int):
for idx, todo in enumerate(todos_db):
if todo.id == todo_id:
del todos_db[idx]
return {"message": "删除成功"}
return {"message": "未找到指定ID的任务"}
试试看你能不能成功删掉刚刚添加的内容。
✅ 到目前为止,我们已经完成了一个完整的简易后端功能!
常见问题解答:新手容易遇到的问题汇总
以下是一些常见问题及解决方法,供你在练习过程中参考。
❓ Q1:启动时提示 “ModuleNotFoundError: No module named 'fastapi'”
原因: FastAPI 还没有安装
解决办法: 在终端中运行以下命令:
pip install fastapi uvicorn
❓ Q2:访问接口时显示错误“Not Found”
原因:
- URL 地址不对
- 路由拼写有误
- 忘记重启服务
解决办法:
- 检查 URL 是否准确(如
/hello而不是/hallo) - 检查代码中的
@app.get("/xxx")的拼写 - 使用
--reload自动热更新,减少重复启动
❓ Q3:JSON 返回乱码或格式错误
原因: 返回的数据结构不能直接转成 JSON
解决办法:
- 确保返回值是字典、列表等可序列化类型
- 如果用了自定义类,要继承
BaseModel - 或者手动转换为 dict 类型再返回
❓ Q4:Swagger 页面打不开?
原因: 可能是浏览器设置阻止了本地加载,也可能是网络不稳定
解决办法:
- 尝试刷新页面或更换浏览器
- 访问 http://localhost:8000/redoc (另一种文档界面)
- 如果仍有问题,可以暂时忽略文档页,继续编码不影响
学习建议:下一步该学什么?
恭喜你完成了 FastAPI 的第一课!这只是万里长征的第一步,接下来的学习路径建议如下:

🔹【进阶技能】
- 连接真实数据库(如 SQLite / MySQL / PostgreSQL)
- 加入身份认证机制(JWT Token)
- 学习中间件(Middleware)和依赖注入
- 部署到线上服务器(如使用 Docker + Nginx)
🔹【推荐项目练手】
尝试开发这些小项目,可以极大提升你的实战能力:
- 用户登录注册系统
- 博客文章管理系统
- 网易云音乐歌词查询 API
- 天气预报接口(调用第三方 API)
🔹【学习资源推荐】
- FastAPI 官方文档(中文版) https://fastapi.tiangolo.com/
- B站教程视频:“FastAPI零基础教学”
- GitHub 上搜 “fastapi example” 看别人是怎么写的
✅ 总结回顾
本篇《FastAPI入门:Python后端开发新手指南》共分五个部分:
| 章节 | 内容概要 |
|---|---|
| 开篇介绍 | 解释 FastAPI 是什么 |
| 环境准备 | 详细讲解如何安装配置 |
| 核心概念 | 包括路由、请求方法、参数等 |
| 实战项目 | 编写一个 Todo 待办事项接口 |
| 常见问题与建议 | 新手问题答疑 + 下一步学习方向 |
🙌 结语:后端开发其实没有你想的那么难!

记住一点:每一个大牛程序员,都是从打印“Hello World”开始的。
只要坚持实践、不怕犯错,相信你很快就可以做出属于自己的 Web 应用了!
如果你喜欢这篇文章,不妨点赞收藏,我会继续更新更多适合初学者的 Python & 后端教程!🚀
需要配套源码或练习题的朋友,欢迎留言联系我获取!

评论 0