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

浮生若茶
2025-06-17 09:32
阅读 265

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

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

你是不是经常听说“后端开发”、“接口”、“服务器”这些词,但感觉云里雾里的?没关系,今天我们要讲的是一个非常适合新手的后端开发工具 —— FastAPI

简单来说,FastAPI 是一个用来创建 API 的 Python 框架。那什么是 API 呢?你可以把它想象成一个“点餐系统”。比如你在手机上点外卖的时候,你的操作会被发到服务器,服务器再返回菜单或者订单信息。这个“来回沟通”的过程,就是通过 API 来完成的。

使用 FastAPI,我们可以很轻松地写出让前后端、App 或者其他服务可以调用的数据接口,效率高、速度快,并且还能自动帮你生成漂亮的文档!


环境准备:搭建属于你的开发环境

环境准备:搭建属于你的开发环境

开始之前,我们需要准备好开发工具和 Python 环境。别担心,这一步其实挺简单的。

1. 安装 Python

首先你需要在电脑上安装 Python。推荐使用 官网 下载最新版本(建议至少是 3.8 及以上)。

安装完成后,在命令行输入:

python --version

或者 Mac 用户可能需要用:

python3 --version

如果能看到类似 Python 3.10.6 的输出,说明已经安装成功啦!


2. 创建项目文件夹

新建一个你喜欢的项目目录,例如:

fastapi-tutorial/

然后在里面打开终端(命令行工具),接下来我们在这个文件夹下进行操作。


3. 安装 FastAPI 和 Uvicorn

FastAPI 本身只是一个框架,我们要配合一个叫 uvicorn 的服务器来运行它。

在终端中依次运行以下命令安装:

pip install fastapi uvicorn

安装完成后,你可以检查是否成功:

uvicorn --version

如果你看到类似 Running uvicorn 0.29.0... 的字样,说明一切就绪!


核心概念:几个必须了解的基础术语

核心概念:几个必须了解的基础术语

为了让你更容易理解后续的代码,我们先来了解几个基本概念:

概念 解释
API 应用程序编程接口,相当于一个“服务员”,负责处理请求并给出响应
接口路径 类似网址的一部分,代表你要访问的功能,例如 /hello
请求方法 如 GET、POST,代表你要做的事情(查看数据 / 提交数据)
异步编程 能让程序更高效地同时做多件事,FastAPI 支持异步操作

数据流转过程-1


实战项目:创建你的第一个 FastAPI 接口

缓存策略对比-2

实战项目:创建你的第一个 FastAPI 接口

现在我们开始动手写代码了!目标是写一个最简单的 API:当用户访问 /hello 这个地址时,返回一句问候语。

第一步:写 Hello World

在你的项目文件夹中,新建一个文件,命名为 main.py,然后写入以下代码:

from fastapi import FastAPI

app = FastAPI()

@app.get("/hello")
def say_hello():
    return {"message": "你好,欢迎学习 FastAPI!"}

这段代码做了什么呢?

  • FastAPI() 创建了一个应用对象
  • @app.get("/hello") 表示这是一个 GET 请求接口,路径是 /hello
  • 当用户访问这个路径时,会执行 say_hello 函数
  • 返回值是一个字典,FastAPI 自动转为 JSON 输出

第二步:运行你的程序

在终端中运行下面这条命令:

uvicorn main:app --reload

解释一下这条命令:

  • uvicorn 是启动服务器的命令
  • main:app 表示从 main.py 文件中加载 app 对象
  • --reload 是为了让代码修改后自动重启(方便调试)

这时候你会看到提示,说服务正在运行,通常是在 http://127.0.0.1:8000


第三步:测试你的接口

你可以直接在浏览器中输入:

http://127.0.0.1:8000/hello

你应该会看到这样的结果:

{
  "message": "你好,欢迎学习 FastAPI!"
}

恭喜你!你刚刚写出了人生中的第一个后端接口 🎉


第四步:加一个 POST 接口

GET 接口只能获取数据,如果我们想让用户提交一些数据呢?这时候就要用 POST 接口了。

我们来实现一个接收用户名并返回欢迎消息的接口:

修改 main.py,添加如下代码:

@app.post("/welcome")
def welcome_user(name: str):
    return {"message": f"欢迎你,{name}!"}

注意看这里用了 @app.post,并且函数参数有 name: str,表示接收字符串类型的参数。

保存后刷新页面不会生效,因为 POST 接口不是直接通过浏览器访问的。我们可以使用一个网页来测试:http://127.0.0.1:8000/docs

这是 FastAPI 自动生成的 API 文档界面,非常直观!

点击 /welcome -> Try it out -> 在参数框中输入一个名字,例如 "Tom",点击 Execute,就能看到返回的结果啦!


更进一步:做一个带参数的接口

有时候我们需要传多个参数。比如我们要做一个计算两个数字之和的接口:

@app.get("/add")
def add_numbers(a: int, b: int):
    return {"result": a + b}

当你访问:

http://127.0.0.1:8000/add?a=5&b=3

你会得到:

{
  "result": 8
}

这里我们学会了怎么传递查询参数(query parameters),它们在 URL 中跟着 ? 出现。


常见问题解答

Q1:运行时报错 No module named 'fastapi' 怎么办?

答: 说明还没有正确安装 FastAPI,请运行:

pip install fastapi uvicorn

Q2:为什么访问不了 /hello

答: 先确认你是否运行了服务器(uvicorn main:app --reload),再确保地址拼写正确(http://127.0.0.1:8000/hello


Q3:如何退出服务器?

答: 在终端中按 Ctrl + C 即可停止运行。


Q4:接口参数能不能不传?会不会报错?

答: 如果你不传必填参数,FastAPI 会自动返回错误信息,提示缺少哪个参数。


Q5:有没有办法让接口支持中文?

答: 默认支持 UTF-8 编码,所以中文没有问题。


学习建议:下一步该学什么?

恭喜你完成了 FastAPI 的入门学习!你现在掌握了:

  • FastAPI 的安装与运行
  • 写 GET 和 POST 接口的基本方法
  • 使用自动生成的文档来测试接口
  • 处理查询参数

接下来,建议你继续学习以下内容,以提升实战能力:

✅ 数据模型与 Pydantic

用于定义请求体的结构,让接口更规范、安全。

✅ 数据库连接(如 SQLite、MySQL)

学会把用户数据或内容存储到数据库中。

✅ 异常处理与状态码

学习如何返回不同的 HTTP 状态码和错误信息。

✅ JWT 认证机制

实现用户登录验证功能,保护你的 API 不被随意访问。


小结

在这篇教程中,我们从零开始,一步步带你认识了 FastAPI 是什么,如何安装配置,写出自己的第一个接口,并尝试了不同类型的请求方式。整个过程中我们强调了实践性,每一步都配有代码实例,帮助你快速入门。

FastAPI 是一个强大又易上手的工具,非常适合刚入门后端开发的朋友。不要害怕遇到不懂的概念,边学边练,慢慢你就会上手!

记住一句话:程序员最强大的能力不是写代码,而是遇到问题时知道如何查资料和解决问题。

祝你学习愉快,成为优秀的后端开发者!🚀

评论 0

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