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

李桂英
2025-06-12 23:23
阅读 535

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

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

你好!欢迎来到 FastAPI 的世界。如果你是刚刚开始学习编程,或者是想从 Python 前端或数据分析转向后端开发,那么恭喜你,选对了工具!

FastAPI 是一个用于构建 Web API 的现代、快速(高性能)的 Python 框架,它适合用来做数据接口服务、前后端分离项目的后台服务等。

通俗来说,你可以把它理解为“帮你把 Python 程序放到网络上,让人可以远程调用它”的工具。


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

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

我们先来安装所需的工具。假设你已经安装了 Python 3.8 及以上版本(如果没有,请到 Python官网 下载并安装)。

第一步:创建项目文件夹

打开终端(Mac/Linux)或者命令行(Windows),输入以下命令:

mkdir fastapi_tutorial
cd fastapi_tutorial

第二步:安装 FastAPI 和 Uvicorn

Uvicorn 是运行 FastAPI 应用的服务器工具。

pip install fastapi uvicorn

核心概念:最简单方式讲懂 FastAPI 的几个关键词

服务器部署方案-1

核心概念:最简单方式讲懂 FastAPI 的几个关键词

在写代码之前,先理解几个基本概念,这样你会更清楚你在干什么。

概念 类比 作用
API 接口 一个开关 通过 URL 触发某个功能
路由路径 /hello 家里的门牌号 决定哪个函数被访问
GET 请求 看网页 获取数据
POST 请求 提交表单 发送数据给服务器

实战项目:跟着我写一个 Hello World 接口

实战项目:跟着我写一个 Hello World 接口

让我们动手写一个最简单的 FastAPI 应用!

第三步:创建你的第一个 FastAPI 文件

fastapi_tutorial 文件夹中新建一个文件叫 main.py,内容如下:

from fastapi import FastAPI

app = FastAPI()

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

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

这段代码定义了两个接口:

  • 主页 /,返回一句话:"Hello, World!"
  • 接口 /items/123,接受一个 ID,比如 123,然后返回这个 ID

第四步:启动服务器

回到终端,运行:

uvicorn main:app --reload

输出类似这样表示成功了:

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

第五步:测试接口

打开浏览器,访问:

  • http://localhost:8000/ —— 显示 {"message": "Hello, World!"}
  • http://localhost:8000/items/5 —— 显示 {"item_id": 5}

🎉 恭喜你,第一个 API 已经完成了!


更进一步:加点参数和请求方法

上面只是做了最基础的例子。现在我们来做一个接收用户输入的小例子。

新增一个 POST 接口(发送数据)

修改 main.py,加上:

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

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

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

重启服务器:

uvicorn main:app --reload

访问:http://localhost:8000/docs
这是 FastAPI 自带的交互式文档,点击 /items/ → “Try it out” → 输入 JSON 数据测试:

{
  "name": "Apple",
  "price": 6.99
}

你会看到服务器返回相同的数据。这就是一个标准的 POST 请求处理流程。


常见问题:新手容易遇到的问题及解答

Q1:找不到模块怎么办?如报错 ModuleNotFoundError: No module named 'fastapi'

答: 那说明你还没有安装 FastAPI,用以下命令安装:

pip install fastapi uvicorn

如果仍然出错,尝试升级 pip:

python -m pip install --upgrade pip

Q2:为什么不能直接用 python main.py 来启动服务?

答: 因为 FastAPI 是异步框架,需要用 ASGI 服务器来运行,比如我们用的 uvicorn

正确启动方式:

uvicorn main:app --reload

Q3:为什么访问 /items/abc 报错了?

答: 因为我们定义的 /items/{item_id} 接受的是整数类型 int,而输入了 abc 这个字符串,系统自动识别为非法输入。

FastAPI 会自动进行参数校验并返回错误信息,非常智能!


学习建议:下一步怎么学更快更稳?

负载均衡配置-2

学会 FastAPI 的第一步之后,你可以继续深入这些方向:

初级目标:

  • 使用数据库(推荐 SQLite)
  • 学习 Pydantic 模型定义
  • 编写用户登录验证逻辑

中级阶段:

  • 加入 Swagger 文档美化
  • 处理文件上传下载
  • 集成 JWT 用户认证
  • 使用 ORM 工具(如 SQLAlchemy 或 Tortoise ORM)

高阶路线:

  • 部署项目到服务器(如 Nginx + Gunicorn/Uvicorn)
  • 性能优化和缓存策略
  • 测试自动化(使用 pytest)
  • 微服务架构与异步任务队列

结语:坚持就是进步的关键!

你已经完成了 FastAPI 的第一个项目,了解了它的基本结构和使用方法。接下来,试着自己创造一个小功能,比如:

创建一个天气查询接口,接收城市名,返回温度和状态

只要每天敲点代码,你也能成为后端小能手!

如有问题,欢迎留言提问 👋

Happy Coding!💻✨

评论 0

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