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

在我们开始学习编程之前,先来简单认识一下什么是FastAPI。
你可以把FastAPI理解为一个帮你快速创建“服务器”的工具。这个“服务器”不是放在机房的那种物理设备,而是指一种可以让别人通过网络访问你的程序的服务。
比如,当你打开某个App或网页的时候,背后其实就是一个服务器在处理请求、返回数据。你输入用户名和密码登录的那一刻,其实是你的手机或电脑向服务器发送了一个请求,服务器验证了你的账号信息之后再返回结果。像这样的工作流程,就是FastAPI能帮我们完成的事情。
FastAPI是使用Python语言编写的,它速度快、功能强大,而且非常容易上手——特别适合刚接触后端开发的新手。
📌 一句话总结:
FastAPI是一个用Python构建Web服务(也就是“接口”)的强大工具,让你可以轻松写出能被其他App、网站调用的数据接口。
环境准备:搭建开发环境全攻略

在正式写代码之前,我们需要准备好开发环境。不用担心,步骤都很简单,跟着做就能完成!
第一步:安装Python
FastAPI是基于Python的框架,所以首先需要在你的电脑上安装Python。
- 前往官网 https://www.python.org/ 下载适合自己系统的版本(建议选择最新稳定版)
- 安装时记得勾选“Add Python to PATH”
- 安装完成后,打开终端(Mac/Linux)或者命令提示符(Windows),输入:
python --version
如果出现类似 Python 3.10.6 的信息,就说明安装成功啦!
⚠️ 小贴士:如果你运行的是 Mac 或 Linux,可能默认命令是
python3而不是python。
第二步:安装FastAPI和Uvicorn
现在我们要安装两个库:
fastapi:这是我们的核心框架uvicorn:这是用来运行FastAPI应用的服务器
在终端或命令提示符中输入以下命令安装:
pip install fastapi uvicorn
安装完成后可以输入下面这条命令确认是否成功:
uvicorn --version
看到输出表示环境已经准备好了!
第三步:准备一个代码编辑器
推荐初学者使用免费且好用的 VS Code(Visual Studio Code),它可以智能补全代码、高亮语法、调试等,非常适合写Python项目。
下载地址:https://code.visualstudio.com/
安装完成后,记得安装一些基础插件,如:
- Python 插件(微软官方提供)
- Pylance(提升自动补全体验)
核心概念:用通俗语言解释关键知识点

在我们动手写第一个项目之前,有几个基本概念要搞懂。别担心,我会用最简单的语言解释清楚。
API 是什么?
API 全称是 Application Programming Interface,翻译成中文就是“应用程序接口”。听起来很玄乎,其实你可以把它理解为“程序员之间交流的规则”。
举个例子:
你去餐厅点菜,菜单就是“餐厅的API”,上面列出了你能点的所有菜品,以及它们的价格和服务方式。服务员就像中间人,负责把你点的东西传给厨房。
在程序里也是一样,一个网站想获得天气信息,它不会自己去查天气预报,而是通过一个“天气API”来获取数据。
✅ 记住:FastAPI就是帮你定义这些“菜单”的工具。
请求和响应
你在浏览器访问一个网址时,其实是在发起一个“请求”,而服务器会给出一个“响应”。
常见的请求方法:
| 方法 | 含义 |
|---|---|
| GET | 获取数据(比如获取一篇文章内容) |
| POST | 提交数据(比如注册新用户) |
| PUT | 更新数据(比如修改用户信息) |
| DELETE | 删除数据 |
示例理解:
假设你想买一件衣服:
- 你进入商品页面:GET(查看信息)
- 你提交购买订单:POST(发送购买信息)
- 修改订单数量:PUT(更新数据)
- 取消订单:DELETE(删除数据)
路由(Route)
路由就像是“路径地图”,告诉服务器哪个URL应该执行哪段代码。
例如:
/home→ 显示首页/users→ 显示用户列表/about→ 关于我们页面
在FastAPI中,我们使用装饰器来定义路由:
@app.get("/")
def read_root():
return {"message": "欢迎来到主页"}
这段代码的意思是:当有人访问根路径 / 时,返回一条欢迎信息。
数据交互:JSON
FastAPI 默认使用 JSON 来传输数据。JSON是一种结构化的文本格式,非常适合在网络上传输数据。
比如用户注册的信息可以这样表示:
{
"username": "tom",
"email": "tom@example.com"
}
在FastAPI中,我们可以直接用字典返回JSON数据:
@app.get("/user")
def get_user():
return {
"name": "Tom",
"age": 25,
"is_student": False
}
实战项目:写一个“打招呼”的小接口

我们从最简单的例子入手:写一个接口,让它接收一个人的名字,然后返回一句问候语。
第一步:新建一个Python文件
在你电脑上任意位置新建一个文件,取名为 main.py,然后用VSCode打开它。
第二步:写下第一段FastAPI代码
将下面的代码复制进去并保存:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"hello": "世界"}
@app.get("/greet/{name}")
def greet(name: str):
return {"message": f"你好, {name}!"}
🔍 解释:
- 我们导入了FastAPI类,并创建了一个实例
app- 使用
@app.get()来定义两个路径:根路径/和带参数的路径/greet/{name}{name}表示这里是一个变量,可以从URL中提取
第三步:运行项目
在终端中输入以下命令启动服务:
uvicorn main:app --reload
main是你的文件名app是你在代码中创建的FastAPI实例--reload是一个可选参数,用于代码变动时自动重启服务器,方便调试
你会看到终端打印出类似的信息:
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
这说明服务已经跑起来了!
第四步:测试接口
现在打开浏览器,访问下面这两个链接试试看:
你应当看到返回的 JSON 内容。
小结
- 你学会了如何用FastAPI定义基本路由
- 掌握了如何接收URL中的参数
- 成功运行并测试了自己的第一个接口
进阶一点:添加POST请求处理
刚才我们只是用了GET请求,现在我们尝试加一个POST请求的功能。
目标:
实现一个接口,接收一个名字和年龄,然后返回一个欢迎消息。
步骤如下:
在之前的 main.py 文件中新增以下代码:
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
# 定义数据模型
class User(BaseModel):
name: str
age: int
@app.post("/welcome")
def welcome_user(user: User):
return {"message": f"{user.name}, 欢迎加入!你的年龄是{user.age}"}
✅ 注意:
- 我们使用了
pydantic的BaseModel来定义数据结构,这样可以帮助我们校验客户端发来的数据是否符合要求。- 要运行这段代码,还要先安装
pydantic库:
pip install pydantic
测试POST请求
再次运行服务:
uvicorn main:app --reload
访问文档界面:
你会看到一个漂亮的接口测试页面,找到 /welcome 接口,点击“Try it out”,输入:
{
"name": "Lily",
"age": 22
}
点击“Execute”,你会看到服务器返回的结果。
常见问题FAQ(新手必看)
❓1. 为什么我的FastAPI无法运行?提示“ModuleNotFoundError”
最常见的原因是你没有正确安装依赖。请检查是否安装了 fastapi, uvicorn 和 pydantic。
可以通过以下命令重新安装:
pip install fastapi uvicorn pydantic
❓2. 我改了代码但是没有生效怎么办?
如果你没有使用 --reload 参数,那你必须手动停止并重新运行服务。
运行命令时加上 --reload 会启用热重载功能:
uvicorn main:app --reload
❓3. 如何让别人也能访问我的服务?
默认情况下,FastAPI只能在本机访问。如果你想让局域网内其他设备也能访问,可以在运行时指定host参数:
uvicorn main:app --host 0.0.0.0 --port 8000
然后在同一网络下访问你的电脑IP+端口号即可。
❓4. URL参数和查询参数有什么区别?
- URL参数(Path Parameters):直接嵌在URL路径里,比如
/greet/tom - 查询参数(Query Parameters):跟在问号后面,比如
/search?keyword=fastapi
FastAPI支持这两种参数的混合使用。
❓5. 如果我想连接数据库该怎么办?
这个问题进阶了一点,但在后续的学习中会涉及到。目前你可以记住,FastAPI本身不提供数据库功能,但它可以很方便地结合各种数据库工具一起使用,比如:
- SQLAlchemy(关系型数据库)
- MongoDB(非关系型数据库)
- Pony ORM、Tortoise ORM等异步ORM
学习建议:下一步该学什么?
恭喜你完成了FastAPI的入门!接下来可以根据自己的兴趣继续深入学习:
🧩 推荐学习路径:
数据库集成
- 学习如何连接MySQL、PostgreSQL等数据库
- 掌握SQLAlchemy或Tortoise ORM的基本操作
身份验证与权限管理
- 实现用户登录、Token鉴权机制
- 使用OAuth2、JWT等技术保护接口
异步编程
- 学习async/await关键字
- 使用异步数据库驱动提升性能
部署上线
- 学习如何把本地项目部署到服务器
- 掌握Docker容器化部署技能
完整项目实战
- 开发一个博客系统、在线商城或任务管理系统
- 结合前端Vue/React进行前后端分离开发
总结
在这篇《FastAPI入门:Python后端开发新手指南》中,我们做了以下几个重点内容:
- 认识了FastAPI的作用与应用场景
- 搭建了完整的开发环境
- 掌握了核心概念(API、路由、请求、响应)
- 动手实现了第一个项目:“打招呼”接口
- 学习了POST请求和数据模型的使用
- 回答了一些常见问题帮助你避坑
- 最后给出了进一步的学习方向
给初学者的一句鼓励
刚开始学习编程一定会遇到很多困难和问题,但只要坚持下去,你就一定能掌握这项技能。FastAPI是一个非常友好的起点,希望你能继续探索,不断进步!
如果你对文章内容有疑问或者想要更多练习项目,请留言告诉我 😊

评论 0