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

运维大神
2025-06-12 16:59
阅读 588

本文面向完全没有编程基础的小白,带你从零开始快速上手使用 FastAPI 开发一个简单的后端服务。文末还提供了一些常见问题和学习建议。


一、什么是FastAPI?

一、什么是FastAPI?

FastAPI 是一个用于构建 Web API 的现代 Python 框架。

简单来说:

  • 它能让你写一个“接口”(也叫做“接口程序”或 API),让前端网页、App 或其他程序访问你的代码。
  • 使用它,你可以轻松地构建网站的“后台逻辑”,比如登录系统、数据查询、订单处理等。

FastAPI 的特点有:

  • 速度快:性能接近 Go、Node.js 级别
  • 自动生成文档:写好接口后,自动给你生成交互式网页文档
  • 基于标准 Python 类型:不需要学新语法,熟悉 Python 就能上手

非常适合刚接触后端开发的新手!


二、环境准备

二、环境准备

在你开始写代码前,需要安装好开发所需的工具。

1. 安装 Python

如果你还没安装 Python,请先去官网下载并安装最新稳定版:https://www.python.org/downloads/

确认是否安装成功,在终端(Windows 是 cmd)运行:

python --version

输出类似这样表示安装成功:

Python 3.10.x

2. 安装 FastAPI 和 Uvicorn

我们还需要两个工具:

  • fastapi:核心框架
  • uvicorn:用于启动服务器

在命令行中执行下面的命令进行安装:

pip install fastapi uvicorn

安装完成后可以用以下命令验证是否成功:

pip show fastapi uvicorn

出现版本信息就说明安装成功啦!


三、FastAPI 核心概念通俗讲解

三、FastAPI 核心概念通俗讲解

让我们先看看几个最重要的概念。

1. 什么是 API?

  • API 就是“函数接口”
  • 前端程序通过“URL”请求你写的某个函数,返回数据
  • 比如用户点“登录按钮”,前端就会访问类似 /login 这样的 URL 接口

2. 路由(Route)

路由就是告诉 FastAPI 哪个函数处理哪个 URL。

from fastapi import FastAPI

app = FastAPI()

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

这段代码的意思是:

  • 当有人访问根路径 “/” 的时候,调用 home() 函数
  • 返回一个 JSON 数据:{"message": "Hello, World!"}

3. 请求方法(GET、POST…)

常用的两种:

  • GET:获取数据,比如查看列表、详情
  • POST:提交数据,比如注册、登陆、提交表单

对应装饰器是 @app.get()@app.post()


四、实战项目:构建一个“打招呼机器人”

四、实战项目:构建一个“打招呼机器人”

我们将开发一个简单的 FastAPI 程序,功能如下:

  • 访问 /hello 接口,会返回一句“你好”的消息
  • 用户可以输入名字,比如 /hello?name=小明,返回“你好,小明!”

这个项目可以帮助你理解基本流程。

第一步:创建文件

新建一个叫 main.py 的文件,写入以下内容:

from fastapi import FastAPI

app = FastAPI()

@app.get("/hello")
def say_hello(name: str = "访客"):
    return {"message": f"你好,{name}!"}

第二步:启动服务器

在命令行中运行:

uvicorn main:app --reload

说明:

  • main 是你的文件名(不含 .py
  • --reload 表示开启热加载(代码修改后自动重启)

看到类似输出就代表启动成功了:

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

第三步:访问接口

打开浏览器,输入地址:

http://127.0.0.1:8000/hello?name=小明

你应该会看到如下 JSON 响应:

{
  "message": "你好,小明!"
}

也可以访问不带参数的地址:

http://127.0.0.1:8000/hello

你会看到:

{
  "message": "你好,访客!"
}

第四步:看看自动生成的文档

访问:

http://127.0.0.1:8000/docs

你会看到 FastAPI 自动生成的交互式文档界面,点击“Try it out”还可以直接测试接口。


五、常见问题答疑

🌟 Q1:为什么报错说模块找不到?

比如提示:

ModuleNotFoundError: No module named 'fastapi'

✅ 解决办法:检查是否安装了 FastAPI 和 Uvicorn:

pip install fastapi uvicorn

🌟 Q2:运行时报错“main has no attribute app”?

确保你在命令行里运行的是:

uvicorn main:app --reload

而不是:

python main.py

✅ FastAPI 程序不是用 python 启动的,要用 uvicorn 来运行。


🌟 Q3:怎么传多个参数?

比如想让接口支持姓名 + 年龄:

@app.get("/info")
def get_info(name: str, age: int):
    return {"name": name, "age": age}

访问:

http://127.0.0.1:8000/info?name=Tom&age=20

六、下一步的学习建议

微服务架构示意图-1

你现在已经掌握了最基础的 FastAPI 用法。接下来可以尝试学习这些进阶知识:

✅ 1. POST 请求与接收 JSON 数据

@app.post("/submit")
def receive_data(data: dict):
    return {"received": data}

学会如何处理表单、JSON 提交的数据。

✅ 2. 使用 Pydantic 模型定义结构

from pydantic import BaseModel

class User(BaseModel):
    name: str
    email: str

@app.post("/users")
def create_user(user: User):
    return {"user_created": user}

提升接口健壮性,数据自动校验。

✅ 3. 数据库连接(如 SQLite、PostgreSQL)

结合 SQLAlchemy 或 Tortoise ORM,实现真正的持久化存储。

✅ 4. JWT 身份认证、用户登录系统

进一步扩展为完整的 Web 应用系统。


七、总结

恭喜你完成了本教程的学习!现在你已经能够:

✅ 创建一个 FastAPI 项目
✅ 编写 GET 请求和处理参数
✅ 自动生成接口文档
✅ 测试和调试自己的 API 接口

记住一句话:

学编程最好的方式是边学边写,多动手实践比死记硬背更有效!

继续加油,相信你能成为一个优秀的后端开发者!


📌 完整代码合集已上传到 GitHub/Gitee,欢迎 fork & star! 如果你喜欢这种风格的教学文章,欢迎留言告诉我,我们可以继续深入讲解更多后端开发知识 😊

评论 0

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