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

温文尔雅
2025-06-22 06:41
阅读 328

开篇:FastAPI 是什么?能做什么?

开篇:FastAPI 是什么?能做什么?

作为一名刚接触编程的新手,你可能听说过“网站”、“服务器”、“接口”这些词。其实,这些都是互联网应用的重要组成部分。

FastAPI 是什么呢?简单来说:

FastAPI 是一个用 Python 编写的现代、快速(高性能)的 Web 框架,专门用来创建 API 接口。

听起来有点抽象?没关系,我们来打个比方:

想象你在餐馆点餐,服务员会把你的需求告诉厨房,然后厨师做好菜再由服务员送到你面前。
在这个过程中,“服务员”就是“API”的角色,负责前后沟通。

在很多网站或 App 中,前端界面和后端数据之间也是通过 API 来交流的。
FastAPI 就是一个可以帮你快速搭建这个“服务员”功能的工具。


环境准备:开始之前我们需要装些什么?

环境准备:开始之前我们需要装些什么?

要使用 FastAPI,首先你要准备好开发环境。不用担心,这里每一步都很简单,跟着我来做就行。

第一步:安装 Python

FastAPI 是基于 Python 的框架,所以你需要先安装 Python 3.8 或以上版本

你可以访问官网 https://www.python.org/ 下载对应系统的安装包。

安装完成后,在命令行中输入:

python --version

如果看到类似 Python 3.10.4 这样的输出,说明安装成功了!

📌 新手提示:如果你用的是 Windows,建议勾选“Add to PATH”选项;Mac 和 Linux 用户一般自带 Python,也可以直接升级。


第二步:安装 FastAPI

打开命令行工具(Windows 上用 CMD 或 PowerShell,Mac/Linux 用 Terminal),输入以下命令安装 FastAPI:

pip install fastapi

接着我们还需要安装一个叫 Uvicorn 的服务器,它可以帮助我们运行 FastAPI 项目:

pip install uvicorn

第三步:安装代码编辑器(推荐 VS Code)

虽然你也可以用任何文本编辑器写代码,但为了更好的体验,推荐你安装 Visual Studio Code (VS Code)

安装步骤如下:

  1. 打开链接,点击“Download”下载安装包;
  2. 安装完成后打开软件;
  3. 安装一个插件叫 Python(搜索 "Python" 插件并安装);
  4. 如果需要,还可以安装 “FastAPI Snippets” 插件,方便写代码时自动补全。

核心概念讲解:理解 FastAPI 的基础结构

核心概念讲解:理解 FastAPI 的基础结构

学习任何一个新框架,都需要先理解它的几个关键组件。下面我们用最简单的语言解释 FastAPI 的几个核心概念。


1. API 接口

前面提到过,API 就是连接前后端的桥梁。例如,当你点击某个按钮时,App 向服务器发送请求获取数据,这就是在调用一个 API。

FastAPI 中我们可以这样定义一个 API:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
    return {"message": "欢迎来到我的第一个 FastAPI 网站!"}

这段代码中,@app.get("/") 表示这是一个 GET 请求,路径是 /(也就是主页)。当有人访问这个地址时,就会触发 read_root() 函数,返回一段消息。


2. 请求方法(HTTP Methods)

常见的 HTTP 请求方式有几种,最常见的两种是:

  • GET:获取数据(比如浏览网页)
  • POST:提交数据(比如登录表单)

在 FastAPI 中,可以用不同的装饰器来处理这些请求:

@app.get("/hello")
def say_hello():
    return {"message": "你好呀!"}

@app.post("/login")
def login_user(username: str):
    return {"status": "登录成功", "user": username}

3. 路径参数(Path Parameters)

有时候我们需要让 URL 包含一些参数信息。例如,我们要展示用户 ID 为 5 的资料,URL 可以写成:

/users/5

在 FastAPI 中,我们这样定义路径参数:

@app.get("/users/{user_id}")
def get_user(user_id: int):
    return {"user_id": user_id, "name": "张三"}

注意,这里的 user_id 被声明为 int 类型,FastAPI 会自动帮我们做类型检查。


4. 查询参数(Query Parameters)

除了路径,我们还可以通过“查询字符串”传参。例如:

/search?keyword=fastapi

在代码中这样处理:

@app.get("/search")
def search_items(keyword: str):
    return {"results": f"找到关于 {keyword} 的内容..."}

5. 自动文档生成

这是 FastAPI 的一大亮点!只要你按标准写了接口,它就能自动生成交互式 API 文档。

运行下面这条命令启动服务:

uvicorn main:app --reload

然后访问:

你就可以看到你的所有接口,并且还能测试它们!


实战项目:做一个天气查询小程序

现在我们来做一个小项目,名字叫做 《简易天气预报系统》

这个项目的功能很简单:用户可以通过浏览器输入城市名,服务器返回当前城市的温度。


第一步:新建文件夹与文件结构

我们在电脑上新建一个文件夹,比如叫 weather_app,里面放一个文件叫 main.py,这是我们整个程序的核心。

文件夹结构如下:

weather_app/
└── main.py

第二步:写主程序

打开 main.py,输入以下内容:

from fastapi import FastAPI

app = FastAPI()

# 模拟数据库中的天气数据
fake_weather_db = {
    "北京": 25,
    "上海": 28,
    "广州": 32,
    "深圳": 30
}

@app.get("/weather/{city_name}")
def get_weather(city_name: str):
    if city_name in fake_weather_db:
        return {"temperature": fake_weather_db[city_name]}
    else:
        return {"error": "暂无该城市天气信息"}

第三步:运行服务

回到命令行,进入你的项目文件夹,运行:

uvicorn main:app --reload

你应该能看到这样的信息:

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

第四步:测试接口

打开浏览器,访问:

http://localhost:8000/weather/北京

你应该可以看到返回结果:

{"temperature": 25}

试试输入其他城市名,比如“成都”,应该会返回错误信息:

{"error": "暂无该城市天气信息"}

第五步:查看文档页面

再次访问:

你会看到一个漂亮的交互式文档界面,里面有我们刚刚写的 /weather/{city_name} 接口,你可以试着在里面输入城市名进行测试。


常见问题解答

作为一个刚开始学的新手,你可能会遇到一些疑问。下面是几个常见问题的解答,希望对你有帮助。


Q1:为什么运行的时候出现 ModuleNotFoundError?

这通常是因为你还没有安装 FastAPI 或 Uvicorn。

解决办法: 在命令行中执行:

pip install fastapi
pip install uvicorn

Q2:为什么修改代码之后,服务没有更新?

默认情况下,FastAPI 不会自动重新加载代码。但如果你加上 --reload 参数,它会在代码改变后重启服务:

uvicorn main:app --reload

Q3:能不能在浏览器里直接调用 POST 接口?

不能直接像 GET 那样用浏览器访问,因为 POST 接口需要发送数据。但你可以使用文档页面里的测试界面(Swagger UI)来模拟发送数据。

例如,假设有一个接口是:

@app.post("/login")
def login(username: str):
    return {"message": f"欢迎回来,{username}"}

你可以在文档页面中点击 “Try it out”,输入 username 再点击“Execute”即可测试。


Q4:能不能同时监听多个端口?

默认 FastAPI 在 localhost:8000 上运行。如果你想换端口号,可以这样指定:

uvicorn main:app --host 0.0.0.0 --port 8080

学习建议:接下来该学什么?

恭喜你完成了这篇教程的学习!你现在能够用 FastAPI 搭建简单的后端接口了。

下一步你可以尝试以下几个方向继续深入学习:


✅ 学习更多 FastAPI 功能

  • 数据验证(Pydantic)
  • 异常处理(自定义错误信息)
  • 身份验证(OAuth2、JWT)
  • 使用中间件(添加日志、权限控制等)

✅ 学习数据库操作

学会用 FastAPI 连接真实数据库,比如:

  • SQLite(本地轻量级数据库)
  • PostgreSQL / MySQL(常用关系型数据库)
  • MongoDB(NoSQL 数据库)

推荐阅读课程或文档:


✅ 结合前端练习完整项目

尝试用 FastAPI 搭建一个完整的项目,比如:

  • 博客网站后端 API
  • 图书管理系统
  • 天气预报 App 接口
  • 注册登录功能接口

结语

服务器部署方案-1

学习 FastAPI 并不难,只要多动手写代码、多调试,很快你就能掌握基本技能。记住一句话:

写出来的代码,才是属于你的知识。

坚持练习,相信你能成为一位出色的后端开发者!

祝你在编程路上越走越远!💪

评论 0

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