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

回滚专业户
2025-06-28 00:29
阅读 616

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

开篇: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
    }

实战项目:写一个“打招呼”的小接口

系统架构设计图-1

我们从最简单的例子入手:写一个接口,让它接收一个人的名字,然后返回一句问候语。

第一步:新建一个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)

这说明服务已经跑起来了!

第四步:测试接口

现在打开浏览器,访问下面这两个链接试试看:

  1. 首页:http://localhost:8000
  2. 打招呼:http://localhost:8000/greet/Tom

你应当看到返回的 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}"}

✅ 注意:

  • 我们使用了 pydanticBaseModel 来定义数据结构,这样可以帮助我们校验客户端发来的数据是否符合要求。
  • 要运行这段代码,还要先安装 pydantic 库:
pip install pydantic

测试POST请求

再次运行服务:

uvicorn main:app --reload

访问文档界面:

打开 http://localhost:8000/docs

你会看到一个漂亮的接口测试页面,找到 /welcome 接口,点击“Try it out”,输入:

{
  "name": "Lily",
  "age": 22
}

点击“Execute”,你会看到服务器返回的结果。


常见问题FAQ(新手必看)

❓1. 为什么我的FastAPI无法运行?提示“ModuleNotFoundError”

最常见的原因是你没有正确安装依赖。请检查是否安装了 fastapi, uvicornpydantic

可以通过以下命令重新安装:

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的入门!接下来可以根据自己的兴趣继续深入学习:

🧩 推荐学习路径:

  1. 数据库集成

    • 学习如何连接MySQL、PostgreSQL等数据库
    • 掌握SQLAlchemy或Tortoise ORM的基本操作
  2. 身份验证与权限管理

    • 实现用户登录、Token鉴权机制
    • 使用OAuth2、JWT等技术保护接口
  3. 异步编程

    • 学习async/await关键字
    • 使用异步数据库驱动提升性能
  4. 部署上线

    • 学习如何把本地项目部署到服务器
    • 掌握Docker容器化部署技能
  5. 完整项目实战

    • 开发一个博客系统、在线商城或任务管理系统
    • 结合前端Vue/React进行前后端分离开发

总结

在这篇《FastAPI入门:Python后端开发新手指南》中,我们做了以下几个重点内容:

  • 认识了FastAPI的作用与应用场景
  • 搭建了完整的开发环境
  • 掌握了核心概念(API、路由、请求、响应)
  • 动手实现了第一个项目:“打招呼”接口
  • 学习了POST请求和数据模型的使用
  • 回答了一些常见问题帮助你避坑
  • 最后给出了进一步的学习方向

给初学者的一句鼓励

刚开始学习编程一定会遇到很多困难和问题,但只要坚持下去,你就一定能掌握这项技能。FastAPI是一个非常友好的起点,希望你能继续探索,不断进步!

如果你对文章内容有疑问或者想要更多练习项目,请留言告诉我 😊

评论 0

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