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

灵活艺术家
2025-06-18 18:12
阅读 692

一、开篇:FastAPI是什么?它能做什么?

一、开篇:FastAPI是什么?它能做什么?

你有没有想过,当你在浏览器上打开一个网站,比如淘宝、知乎或者B站,你的电脑是怎么和服务器“对话”的呢?

这背后其实有一个叫做后端开发的技术在默默运行。简单来说,后端就是负责处理数据、管理逻辑,并把结果返回给前端(也就是你在网页上看到的部分)。

而我们今天要学习的 FastAPI,就是一个用来做后端开发的 Python 框架,它的主要特点有:

  • 速度快:是目前 Python 中最快的 Web 框架之一
  • 易于使用:写法简洁,学习门槛低
  • 自动生成文档:不需要手动写接口文档,它自动帮你做好了!
  • 支持异步编程:可以处理更复杂的任务

适合谁学:

  • 完全零基础的新手
  • 对 Python 已有一定了解的人
  • 想做网站后台开发的前端开发者
  • 想转型为后端程序员的学习者

接下来我们就从最简单的环境搭建开始吧!


二、环境准备:安装 FastAPI 和相关工具

负载均衡配置-1

二、环境准备:安装 FastAPI 和相关工具

1. 安装 Python(建议3.8及以上)

如果你还没安装 Python,可以前往官网下载并安装最新版本的 Python:

👉 https://www.python.org/downloads/

安装完成后,在命令行输入下面这行代码验证是否安装成功:

python --version

如果你看到了类似 Python 3.x.x 的字样,说明安装成功。


2. 创建项目文件夹

我们可以先创建一个新的项目目录:

mkdir fastapi_project
cd fastapi_project

在这个文件夹里,我们会编写我们的第一个 FastAPI 程序。


3. 安装 FastAPI 和 Uvicorn(运行器)

我们使用 pip 来安装 FastAPI:

pip install fastapi uvicorn

解释一下这两个工具的作用:

名称 作用描述
FastAPI 构建接口的核心框架
Uvicorn 一个 ASGI 服务器,用于运行 FastAPI 项目

三、核心概念:用通俗的语言解释关键知识

我们来通过一个最简单的例子讲解 FastAPI 的几个核心知识点。

示例:Hello World 接口

新建一个文件:main.py

from fastapi import FastAPI

app = FastAPI()

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

保存后,在终端执行以下命令启动服务:

uvicorn main:app --reload

访问地址:http://127.0.0.1:8000

你会看到页面显示:

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

恭喜,你已经成功写出你的第一个 FastAPI 接口啦!


关键概念解析

1. 路由(@app.get("/"))

  • 类似于网站上的“导航栏”
  • @app.get("/users") 表示当用户访问 /users 这个路径时,就调用后面这个函数

2. 函数(def read_root():)

  • 当某个路径被访问时,这个函数会执行
  • 必须返回值,通常是 JSON 格式的数据

3. 启动命令 uvicorn main:app --reload

  • main: 是文件名(main.py)
  • app: 是我们定义的 FastAPI 实例对象
  • --reload: 自动重启(开发时很方便)

更多常见操作示例

示例1:带参数的 GET 请求

@app.get("/items/{item_id}")
def read_item(item_id: int):
    return {"item_id": item_id}

访问地址:http://127.0.0.1:8000/items/5

输出结果:

{
  "item_id": 5
}

注意:FastAPI 会自动将 URL 中的数字识别成 int 类型


示例2:POST 接口提交数据

from fastapi import FastAPI
from pydantic import BaseModel

class Item(BaseModel):
    name: str
    price: float

app = FastAPI()

@app.post("/items/")
def create_item(item: Item):
    return {
        "name": item.name,
        "price": item.price
    }

访问步骤:

  1. 打开 http://127.0.0.1:8000/docs
  2. 点击 /items/ POST 接口
  3. 点击 “Try it out”
  4. 输入:
    {
      "name": "手机",
      "price": 2999.99
    }
    
  5. 点击 “Execute”

就能看到返回的数据啦!


四、实战项目:做一个学生信息管理系统

为了更好地理解 FastAPI 的使用,我们来一起完成一个简易的学生信息管理系统。

功能需求:

  • 查看所有学生信息(GET)
  • 添加学生信息(POST)
  • 删除学生信息(DELETE)

步骤1:准备模型类

from fastapi import FastAPI
from pydantic import BaseModel
from typing import List

app = FastAPI()

# 学生模型
class Student(BaseModel):
    id: int
    name: str
    age: int

步骤2:模拟数据库(内存中存储)

students_db = [
    Student(id=1, name="张三", age=20),
    Student(id=2, name="李四", age=22),
]

步骤3:查看所有学生(GET)

@app.get("/students/", response_model=List[Student])
def get_students():
    return students_db

步骤4:添加学生(POST)

@app.post("/students/")
def add_student(student: Student):
    students_db.append(student)
    return {"message": "添加成功"}

步骤5:删除学生(DELETE)

@app.delete("/students/{student_id}")
def delete_student(student_id: int):
    for student in students_db:
        if student.id == student_id:
            students_db.remove(student)
            return {"message": "删除成功"}
    return {"message": "未找到该学生"}

测试方法:

  1. 访问 Swagger 文档页面:http://127.0.0.1:8000/docs
  2. 尝试调用各个 API
  3. 刷新 /students/ 接口查看是否生效

这就是一个简单的后端小系统啦 ✅


五、常见问题解答(FAQ)

Q1:运行报错:“uvicorn not found” 怎么办?

A:确保你正确安装了 uvicorn,可以再次运行:

pip install uvicorn

Q2:启动时报错,“No module named 'fastapi'”?

A:说明没有安装 FastAPI,运行:

pip install fastapi

Q3:为什么需要 Pydantic 模型?

A:Pydantic 是 FastAPI 处理请求体的重要工具,它可以:

  • 验证数据类型(如必须传整数)
  • 自动生成请求结构文档
  • 提升代码可读性和安全性

Q4:如何调试 FastAPI 代码?

A:有两个好办法:

  • 使用 print() 输出调试信息(虽然土,但有效)
  • 使用断点调试器(如 VS Code 的调试功能)

Q5:FastAPI 支持数据库吗?

A:当然支持!你可以结合 SQLAlchemy 或 Tortoise ORM 使用 MySQL、PostgreSQL、SQLite 等数据库。这部分内容超出了本教程范围,后续进阶课程会讲到。


六、学习建议:下一步怎么走?

恭喜你完成了 FastAPI 的入门学习!接下来推荐你按以下路径继续提升:

阶段1:巩固基础

  • 继续练习更多的接口写法(PUT、PATCH、HEAD等)
  • 学习状态码与错误处理
  • 实现分页查询功能
  • 学习路由分组(Router)

阶段2:连接数据库

  • 学习使用 SQLAlchemy 或 Tortoise ORM
  • 操作真实数据库(如 SQLite、MySQL)
  • 实现数据库增删改查(CRUD)

阶段3:构建完整项目

  • 开发博客系统、电商后台或笔记系统
  • 添加用户登录认证(Token/JWT)
  • 前后端分离 + 部署上线

推荐资源


结语

FastAPI 是进入 Python 后端开发的理想起点,它不仅简单易用,还具备现代化的功能特性。对于初学者来说,最重要的是动手写代码、不断实践。

不要怕出错,每一个 bug 都是你进步的机会。坚持下去,不久之后你也能独立做出完整的 Web 后端系统!

如有任何疑问,欢迎留言交流 😊

评论 0

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