FastAPI入门:Python后端开发新手指南
本文面向完全没有编程基础的小白,带你从零开始快速上手使用 FastAPI 开发一个简单的后端服务。文末还提供了一些常见问题和学习建议。
一、什么是FastAPI?

FastAPI 是一个用于构建 Web API 的现代 Python 框架。
简单来说:
- 它能让你写一个“接口”(也叫做“接口程序”或 API),让前端网页、App 或其他程序访问你的代码。
- 使用它,你可以轻松地构建网站的“后台逻辑”,比如登录系统、数据查询、订单处理等。
FastAPI 的特点有:
- ✅ 速度快:性能接近 Go、Node.js 级别
- ✅ 自动生成文档:写好接口后,自动给你生成交互式网页文档
- ✅ 基于标准 Python 类型:不需要学新语法,熟悉 Python 就能上手
非常适合刚接触后端开发的新手!
二、环境准备

在你开始写代码前,需要安装好开发所需的工具。
1. 安装 Python
如果你还没安装 Python,请先去官网下载并安装最新稳定版:https://www.python.org/downloads/
确认是否安装成功,在终端(Windows 是 cmd)运行:
python --version
输出类似这样表示安装成功:
Python 3.10.x
2. 安装 FastAPI 和 Uvicorn
我们还需要两个工具:
fastapi:核心框架uvicorn:用于启动服务器
在命令行中执行下面的命令进行安装:
pip install fastapi uvicorn
安装完成后可以用以下命令验证是否成功:
pip show fastapi uvicorn
出现版本信息就说明安装成功啦!
三、FastAPI 核心概念通俗讲解

让我们先看看几个最重要的概念。
1. 什么是 API?
- API 就是“函数接口”
- 前端程序通过“URL”请求你写的某个函数,返回数据
- 比如用户点“登录按钮”,前端就会访问类似
/login这样的 URL 接口
2. 路由(Route)
路由就是告诉 FastAPI 哪个函数处理哪个 URL。
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def home():
return {"message": "Hello, World!"}
这段代码的意思是:
- 当有人访问根路径 “/” 的时候,调用
home()函数 - 返回一个 JSON 数据:{"message": "Hello, World!"}
3. 请求方法(GET、POST…)
常用的两种:
- GET:获取数据,比如查看列表、详情
- POST:提交数据,比如注册、登陆、提交表单
对应装饰器是 @app.get() 和 @app.post()
四、实战项目:构建一个“打招呼机器人”

我们将开发一个简单的 FastAPI 程序,功能如下:
- 访问
/hello接口,会返回一句“你好”的消息 - 用户可以输入名字,比如
/hello?name=小明,返回“你好,小明!”
这个项目可以帮助你理解基本流程。
第一步:创建文件
新建一个叫 main.py 的文件,写入以下内容:
from fastapi import FastAPI
app = FastAPI()
@app.get("/hello")
def say_hello(name: str = "访客"):
return {"message": f"你好,{name}!"}
第二步:启动服务器
在命令行中运行:
uvicorn main:app --reload
说明:
main是你的文件名(不含.py)--reload表示开启热加载(代码修改后自动重启)
看到类似输出就代表启动成功了:
INFO: Uvicorn running on http://127.0.0.1:8000
第三步:访问接口
打开浏览器,输入地址:
http://127.0.0.1:8000/hello?name=小明
你应该会看到如下 JSON 响应:
{
"message": "你好,小明!"
}
也可以访问不带参数的地址:
http://127.0.0.1:8000/hello
你会看到:
{
"message": "你好,访客!"
}
第四步:看看自动生成的文档
访问:
http://127.0.0.1:8000/docs
你会看到 FastAPI 自动生成的交互式文档界面,点击“Try it out”还可以直接测试接口。
五、常见问题答疑
🌟 Q1:为什么报错说模块找不到?
比如提示:
ModuleNotFoundError: No module named 'fastapi'
✅ 解决办法:检查是否安装了 FastAPI 和 Uvicorn:
pip install fastapi uvicorn
🌟 Q2:运行时报错“main has no attribute app”?
确保你在命令行里运行的是:
uvicorn main:app --reload
而不是:
python main.py
✅ FastAPI 程序不是用 python 启动的,要用 uvicorn 来运行。
🌟 Q3:怎么传多个参数?
比如想让接口支持姓名 + 年龄:
@app.get("/info")
def get_info(name: str, age: int):
return {"name": name, "age": age}
访问:
http://127.0.0.1:8000/info?name=Tom&age=20
六、下一步的学习建议

你现在已经掌握了最基础的 FastAPI 用法。接下来可以尝试学习这些进阶知识:
✅ 1. POST 请求与接收 JSON 数据
@app.post("/submit")
def receive_data(data: dict):
return {"received": data}
学会如何处理表单、JSON 提交的数据。
✅ 2. 使用 Pydantic 模型定义结构
from pydantic import BaseModel
class User(BaseModel):
name: str
email: str
@app.post("/users")
def create_user(user: User):
return {"user_created": user}
提升接口健壮性,数据自动校验。
✅ 3. 数据库连接(如 SQLite、PostgreSQL)
结合 SQLAlchemy 或 Tortoise ORM,实现真正的持久化存储。
✅ 4. JWT 身份认证、用户登录系统
进一步扩展为完整的 Web 应用系统。
七、总结
恭喜你完成了本教程的学习!现在你已经能够:
✅ 创建一个 FastAPI 项目
✅ 编写 GET 请求和处理参数
✅ 自动生成接口文档
✅ 测试和调试自己的 API 接口
记住一句话:
学编程最好的方式是边学边写,多动手实践比死记硬背更有效!
继续加油,相信你能成为一个优秀的后端开发者!
📌 完整代码合集已上传到 GitHub/Gitee,欢迎 fork & star! 如果你喜欢这种风格的教学文章,欢迎留言告诉我,我们可以继续深入讲解更多后端开发知识 😊

评论 0