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

代码轻食主义
2025-06-13 05:32
阅读 796

适合零基础初学者的简单明了教程,带你在最短时间内上手FastAPI后端开发!


开篇:FastAPI 是什么?它有什么用?

开篇:FastAPI 是什么?它有什么用?

你可能听说过“前端”和“后端”这两个概念。前端是用户能看到的部分(比如网页、APP界面),而后端就是负责处理数据、逻辑运算、与数据库交互等看不见的工作。

FastAPI 是一个现代、快速(高性能)的 Python Web 框架,专门用于构建后端 API 接口服务(Application Programming Interface)。它的特点是:

  • 快速开发
  • 自动生成文档(Swagger + ReDoc)
  • 支持异步编程
  • 类型提示(Type Hints)

哪些场景会用到 FastAPI?

  • 开发网站或App的后台接口
  • 构建微服务(Microservices)
  • 提供数据分析、AI模型调用的API
  • 内部系统的数据通信接口

接下来,我们一步步带你从0开始学习FastAPI开发!


环境准备:搭建你的第一个 FastAPI 工作环境

环境准备:搭建你的第一个 FastAPI 工作环境

在写代码之前,你需要准备好开发环境。别担心,每一步都很简单!

步骤1:安装 Python

确保你电脑上已经安装了 Python 3.8 或更高版本。你可以打开终端(Windows叫命令行,Mac/Linux叫Terminal)输入:

python --version

如果输出类似 Python 3.11.x 表示已经安装好了。

没有的话,前往官网下载安装包:https://www.python.org/


步骤2:创建虚拟环境(推荐)

虚拟环境可以避免不同项目之间的依赖冲突。执行如下命令创建虚拟环境:

python -m venv fastapi_env

激活虚拟环境(注意不同系统命令不同):

  • Windows:

    fastapi_env\Scripts\activate
    
  • Mac/Linux:

    source fastapi_env/bin/activate
    

你看到命令行前面出现了 (fastapi_env) 就说明激活成功啦 ✅


步骤3:安装 FastAPI 和 Uvicorn(运行服务器)

执行以下命令安装 FastAPI 及其开发服务器:

pip install fastapi uvicorn

现在你已经拥有一个完整的 FastAPI 开发环境啦!🎉


核心概念:FastAPI 初探 —— 最简单的例子

核心概念:FastAPI 初探 —— 最简单的例子

我们先来写一个最简单的 API:当你访问 /hello 时,返回 “Hello, FastAPI!”。

创建文件

新建一个文件,比如叫 main.py,里面写入以下内容:

from fastapi import FastAPI

app = FastAPI()

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

运行服务

回到终端,在当前目录运行以下命令:

uvicorn main:app --reload
  • main:是你写的 Python 文件名(不带 .py)
  • app:是我们在 main.py 中定义的 FastAPI 实例
  • --reload:表示开发模式下自动刷新代码变动(可选)

你会看到这样的输出:

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

打开浏览器访问:http://127.0.0.1:8000/hello
你会看到:

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

✅ 成功!这是你人生第一个 FastAPI 接口!


接口方法小科普 🧠

  • @app.get("/路径") 表示这是一个 GET 请求的接口
  • 同理还有 .post(), .put(), .delete() 等方法

GET 是最常见的请求方式,通常用于“获取数据”。POST 一般用于“提交数据”。


实战项目:做一个“计算器”API

实战项目:做一个“计算器”API

下面,我们来做一个小小的实战项目 —— 实现一个加法器的 API 接口,接收两个参数,返回它们的和。

第一步:添加 GET 请求接口

修改你的 main.py

from fastapi import FastAPI

app = FastAPI()

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

重启一下服务(或者启用 reload 模式),访问试试:

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

你会看到结果:

{"result": 8}

是不是很神奇?FastAPI 会自动识别并转换你传进来的参数为整数(int)类型。


第二步:支持 POST 请求(更安全的方式)

GET 请求的数据暴露在 URL 上,有时候不太安全。我们可以用 POST 方法来隐藏数据。

修改一下代码:

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class AddRequest(BaseModel):
    a: int
    b: int

@app.post("/add")
def add_numbers_post(request: AddRequest):
    return {"result": request.a + request.b}

这次我们用了 pydanticBaseModel 来定义接收的数据结构。FastAPI 会自动检查并解析请求中的 JSON 数据。

测试 POST 请求的方法:

你可以用工具如 Postman、curl,或者直接使用 FastAPI 自带的文档界面。

访问:http://127.0.0.1:8000/docs

你会看到自动生成的接口文档 👇

点击 /addTry it out,输入 JSON:

{
  "a": 10,
  "b": 20
}

然后点击 Execute,就能收到结果啦!

💡 自动生成文档是 FastAPI 最吸引人的功能之一!


新手常见问题解答 ❓

Q1:为什么我启动不了 FastAPI?

A:请检查是否漏装 uvicorn,或者模块导入有错,Python 版本是否太低。

Q2:出现错误提示 “no module named fastapi” 怎么办?

A:可能是没有激活虚拟环境,或 pip 安装位置不对。请确认是否执行了正确的 pip 安装命令,并处于正确环境中。

Q3:FastAPI 能部署上线吗?

A:当然可以!可以通过 Gunicorn/Uvicorn 部署上线,也可以配合 Nginx 使用,适合生产环境。

Q4:FastAPI 和 Flask/Django 有什么区别?

A:Flask 更轻量,Django 功能全面但复杂;FastAPI 更现代化,性能高、适合写 API、自带文档和类型支持。


下一步学习建议 📚

恭喜你完成了第一个 FastAPI 入门之旅!你已经掌握了基本开发技能。如果你希望继续深入学习,以下是几个方向建议:

1️⃣ 学习数据库连接(如 SQLite、PostgreSQL)

使用 SQLAlchemy 或 Tortoise ORM,让你的接口能存储和读取数据。

2️⃣ 认证与权限控制

学习 JWT、OAuth2、登录验证等内容,保护你的API资源。

3️⃣ 异步编程(async)

FastAPI 支持 async 函数,提升并发能力。

4️⃣ 项目打包和部署

学会如何将项目打包发布到线上服务器(如使用 Docker + Uvicorn 部署)。

5️⃣ 学习测试框架

掌握如何为你的API编写单元测试,提高代码质量。


总结 🎉

在本教程中,你学会了:

  • FastAPI 是什么、适合做什么
  • 如何配置开发环境
  • 编写了第一个 Hello API
  • 实现了一个加法计算接口,支持 GET 和 POST 请求
  • 看到了自动生成的 API 文档
  • 学会了如何调试和测试接口
  • 得到了一些常见问题的解决建议

现在,你可以尝试自己做一些练习项目,例如:

  • 天气查询 API
  • 博客文章管理系统(增删改查)
  • 用户注册登录系统(含数据库操作)

只要坚持实践,相信你也能成为一名合格的后端开发者!


🎯 继续加油吧,代码世界的大门已经为你打开!

评论 0

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