FastAPI 入门:Python 后端开发新手指南

Code后端
2025-06-22 23:49
阅读 514

开篇:FastAPI 是什么?我能用它做什么?

开篇:FastAPI 是什么?我能用它做什么?

你是不是经常听到“后端”、“接口”、“API”这样的词,却始终搞不懂它们到底是什么意思?不用担心,今天我们就来从零开始认识一门非常容易上手的 Python 后端框架——FastAPI

FastAPI 是什么?

简单来说,FastAPI 是一个用来构建 Web 接口(API)的 Python 框架。你可以把它想象成一个“自动售货机”——当有人给你投币(也就是用户发送请求),你会根据不同的请求返回对应的商品(数据)。比如微信里的天气插件、登录系统、支付功能,背后其实都是靠这些“自动售货机”在工作的。

它能干什么?

  • 创建网站后台
  • 对接前端页面(比如网页或APP)
  • 提供各种功能接口,比如注册、登录、获取数据
  • 实现高性能的数据处理和服务响应

而且 FastAPI 有一个很吸引人的地方:它非常快,又很容易上手。即使你是编程新手,也能快速写出一个能运行的小项目!


环境准备:搭建你的第一个开发环境

环境准备:搭建你的第一个开发环境

在学习任何新技能之前,我们都要准备好“工具箱”。下面我将带你一步步安装和配置好 FastAPI 所需的所有软件。

💡 提示:如果你对命令行操作不太熟悉,不要担心,我会把每一步都写得很详细。

步骤一:安装 Python

FastAPI 是基于 Python 的框架,所以你需要先安装 Python。

  1. 前往官网下载最新版本的 Python: 👉 https://www.python.org/downloads/
  2. 安装时记得勾选 “Add to PATH” 选项。
  3. 安装完成后,在命令行中输入以下命令确认是否安装成功:
python --version

如果出现类似 Python 3.11.x 的信息,说明安装成功!


步骤二:安装 FastAPI 和 Uvicorn(开发服务器)

我们现在通过 Python 的包管理器 pip 来安装 FastAPI 和开发服务器。

在命令行中依次运行以下两个命令:

pip install fastapi
pip install uvicorn
  • fastapi 是主框架;
  • uvicorn 是运行 FastAPI 项目的服务器工具。

安装完成后,可以通过下面命令测试是否成功:

uvicorn --version

输出类似 Uvicorn 0.24.0 即可。


步骤三:选择一个代码编辑器(推荐 VS Code)

虽然你可以用记事本来写代码,但推荐使用功能更强大的编辑器,比如:

安装完成后,打开并创建一个空文件夹作为你的项目目录,然后在里面新建一个叫 main.py 的文件,这就是我们接下来要写的代码文件啦!


核心概念讲解:什么是 API?为什么我们要关心它?

核心概念讲解:什么是 API?为什么我们要关心它?

什么是 API?

API 就像是一个服务窗口。假设你想在银行取钱,不会直接跑到金库去搬现金,而是去柜台办业务。这个柜台就是“接口”——你告诉柜员你要做什么,他帮你完成操作,并返回结果。同样的道理,API 就是程序之间沟通的方式

在互联网的世界里,很多 APP 能看到实时天气、新闻、聊天记录,就是因为它背后调用了对应的 API。

FastAPI 中的几个关键词解释

名词 解释
路由(Route) 就是你访问的网址路径,比如 /hello 表示访问“打招呼”页面
请求方式(Method) 常见的有 GET 获取数据,POST 提交数据等
端点(Endpoint) 就是一个具体的功能,比如一个注册接口
异步支持 FastAPI 支持异步请求,意味着可以更快地处理大量任务

现在不理解也没关系,我们马上就会用实际例子让你明白它们到底是怎么回事 😄


实战项目:做个最简单的 Hello World API

实战项目:做个最简单的 Hello World API

我们来做一个“打招呼”的接口,当你访问某个网址时,它会返回“Hello World”。

第一步:写你的第一个 FastAPI 程序

在你刚才新建的 main.py 文件中,写下如下代码:

from fastapi import FastAPI

app = FastAPI()

@app.get("/hello")
def say_hello():
    return {"message": "Hello, World!"}

这段代码做了什么呢?

  1. 导入 FastAPI 类
  2. 创建了一个 FastAPI 应用实例(app
  3. 使用 @app.get("/hello") 设置了访问地址为 /hello 的 GET 请求
  4. 当用户访问该地址时,返回 JSON 格式的消息

第二步:运行项目

在命令行中运行以下命令启动服务器:

uvicorn main:app --reload

解释一下参数:

  • main: 代表你写的那个 main.py 文件
  • app: 是你定义的那个 FastAPI 实例对象
  • --reload: 可以在代码修改后自动重启服务器,方便调试

运行之后,你会看到类似下面的输出:

INFO: Uvicorn running on http://127.0.0.1:8000

这就说明你的项目已经启动成功啦!

第三步:访问接口

打开浏览器,在地址栏中输入:

http://localhost:8000/hello

你应该能看到屏幕显示如下内容:

{"message": "Hello, World!"}

恭喜!你已经完成了人生中的第一个 FastAPI 接口!


实战进阶:让接口接受参数

上面的例子中我们只是静态返回了一段信息。实际中我们往往需要根据用户的输入做出回应。下面我们来写一个带参数的接口。

场景:欢迎用户

我们希望访问 /greet/{name} 时,接口能返回一句个性化问候语,例如:

http://localhost:8000/greet/Lily → 返回 Hello Lily!

来看实现代码:

@app.get("/greet/{name}")
def greet(name: str):
    return {"message": f"Hello {name}!"}

注意这里的写法:

  • {name} 是路径参数(URL 参数)
  • name: str 是指定参数类型,FastAPI 自动转换和验证

保存代码后刷新浏览器,看看效果吧!


实战练习:实现一个加法计算器接口

数据流转过程-1

我们来做一个稍微复杂一点的 API:接收两个数字,计算它们的和。

功能要求:

访问 URL 如下:

/calculate?num1=5&num2=10

期望得到结果:

{
  "sum": 15
}

来看代码怎么写:

@app.get("/calculate")
def calculate(num1: int, num2: int):
    total = num1 + num2
    return {"sum": total}

这里我们用了查询参数(Query Parameters)。这种参数不会出现在路径中,而是在问号后面拼起来。

再次测试一下:

访问:

http://localhost:8000/calculate?num1=5&num2=7

你应该会看到返回值为 12 的结果。


自动文档生成:FastAPI 的一大亮点!

你有没有发现,当你运行 FastAPI 项目后,可以在浏览器访问:

http://localhost:8000/docs

你会进入一个自动生成的交互式文档界面!

在这个页面中:

  • 你可以看到所有你定义的接口
  • 可以在线测试接口,不用再手动打网址
  • 显示详细的请求参数、响应格式、示例等等

这对于初学者特别友好,也便于前后端协作。


新手常见问题汇总

Q1: 为什么我的代码运行后访问不了?

  • 确保你执行的是正确的命令:uvicorn main:app --reload
  • 检查 main.py 是否真的在当前目录下
  • 防火墙或杀毒软件有时会影响本地测试,尝试关闭看看

Q2: 为什么会报错:No module named 'fastapi'

这说明你的 Python 环境没有正确安装 FastAPI。请运行以下命令安装:

pip install fastapi uvicorn

Q3: 我可以同时运行多个 FastAPI 项目吗?

可以!只要他们绑定的端口号不同就行。默认是 8000,你可以通过如下命令修改端口:

uvicorn main:app --reload --host 127.0.0.1 --port 8001

这样就改成 8001 端口啦!


下一步学习建议

恭喜你完成了 FastAPI 的入门教程!你现在可以写基本的接口、传参数、返回数据,并查看自动生成的文档。

那么下一步该学什么呢?下面是几个方向建议:

进阶方向一:学会接收 POST 请求

GET 请求只能传简单参数,而 POST 请求可以传更复杂的表单或 JSON 数据。比如用户登录、发文章、上传文件等功能都需要 POST 方法。

进阶方向二:连接数据库

你可以尝试使用 SQLAlchemy 或 Motor(MongoDB 适配器)来连接数据库,让 FastAPI 存储和读取真实的数据。

进阶方向三:添加身份验证(JWT、OAuth)

为了让接口更安全,可以给你的接口加上登录验证机制。

推荐资源:


总结

本篇文章为你打开了 FastAPI 的大门,带你了解了:

  • FastAPI 是什么、可以用来做什么
  • 如何搭建开发环境
  • 编写简单的 Hello World 接口
  • 接收路径参数和查询参数
  • 自动生成文档的强大功能
  • 新手常遇到的问题及解决方法

只要你坚持实践,多敲代码,很快就能用 FastAPI 开发出属于自己的 Web 应用了!

加油,后端小萌新!🎉

评论 0

最热最新
暂无评论
匿名用户Lv.1
0
影响力
0
文章
0
粉丝