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

不想写日报
2025-06-19 23:19
阅读 487

开篇:什么是FastAPI?我能用它做什么?

开篇:什么是FastAPI?我能用它做什么?

你可能听说过“网站后台”、“接口”、“API”这些词,但它们到底是什么,又和你有什么关系呢?别急,我们来一步步讲解。

FastAPI 是一个使用 Python 编写的 Web 框架。简单来说,它可以帮助你快速构建一个可以接收网络请求、处理数据,并返回结果的程序。

举个通俗的例子:

想象你开了一个披萨店,顾客打电话下单(发送请求),你记录订单并安排制作(处理请求),最后把披萨送到顾客家(返回结果)。
而在互联网的世界里,你的“电话号码”就是 API 地址,而整个送披萨的过程,就是一个 API 接口在工作的过程。

FastAPI 就像帮你开店的那个工具包,让你能快速搭建起这个点餐系统。


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

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

本节我们一步步来安装和配置好开发所需的软件环境。

第一步:安装Python

FastAPI是基于Python的框架,所以首先你需要确保电脑上已经安装了Python。

✅ 检查是否已安装Python:

打开终端或命令行,输入以下命令:

python --version

如果看到类似 Python 3.9.1 这样的信息,说明你已经安装好了。

如果没有,请前往官网下载安装:https://www.python.org/(选择适合自己系统的版本)

第二步:创建虚拟环境(建议这么做)

为了防止项目之间发生冲突,我们一般会为每个项目单独建立一个“小房间”,也就是所谓的“虚拟环境”。

运行以下命令创建一个新环境:

python -m venv my_fastapi_env

然后激活它:

  • Windows:

    my_fastapi_env\Scripts\activate.bat
    
  • macOS/Linux:

    source my_fastapi_env/bin/activate
    

第三步:安装FastAPI和Uvicorn

现在我们安装FastAPI以及它的开发服务器 Uvicorn:

pip install fastapi uvicorn

🎉 到这一步,我们的开发环境就搭建好了!


核心概念:理解FastAPI的关键术语

核心概念:理解FastAPI的关键术语

学习一门新技术之前,先了解几个关键名词,这样后面代码出现时你就不会一脸懵。

1. API(Application Programming Interface)

API 是应用程序之间的“对话方式”。你可以把它想成是一份菜单,别人按这份菜单来点菜,你就能给他做对应的菜。

比如有一个 /add 的 API 地址,别人只要传两个数字给你,你就可以返回这两个数的和。

2. 路由(Route)

路由就像网页上的地址。你可以设置多个不同的地址来完成不同的任务。

例如:

  • /hello 表示访问打招呼接口
  • /login 表示登录接口

3. 请求方法(Method)

每当你通过浏览器或者手机 App 发送请求,实际上是在使用某种“动作”。最常用的几种如下:

方法 用途
GET 获取数据
POST 提交数据
PUT 更新数据
DELETE 删除数据

我们会在实战中看到如何使用这些方法。


实战项目:从零开始搭建一个简单的天气查询API

现在我们来做一个超简单的天气查询接口,目标是访问 /weather/beijing 时返回北京的天气信息。

步骤一:新建一个文件

在你喜欢的位置新建一个名为 main.py 的文件。

步骤二:编写基础代码

复制下面这段代码到 main.py 中:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
    return {"message": "欢迎来到我的API!"}

@app.get("/weather/{city}")
def get_weather(city: str):
    # 假装查询数据库或第三方服务
    weather_data = {
        "beijing": "晴天",
        "shanghai": "多云",
        "guangzhou": "下雨"
    }
    
    if city in weather_data:
        return {"city": city, "weather": weather_data[city]}
    else:
        return {"error": "不支持的城市"}

步骤三:启动服务

微服务架构示意图-2

在命令行中运行:

uvicorn main:app --reload

你会看到类似于以下输出:

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

现在浏览器中打开 http://127.0.0.1:8000/weather/beijing
你应该能看到返回的天气数据!

📌 代码解释:

  • app = FastAPI() 创建了一个FastAPI应用。
  • @app.get("/") 定义了一个GET请求的路径 /
  • def get_weather(city: str): 函数用于处理用户传入的 city 参数。
  • 使用字典模拟了“天气数据”的查询。

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

如果你在操作过程中遇到了问题,不要慌,这些问题很多人都经历过。

❓Q1:提示找不到模块怎么办?

错误信息如:ModuleNotFoundError: No module named 'fastapi'

💡 解答: 可能是你没有安装 FastAPI。请确认你在正确的环境中运行命令:

pip install fastapi uvicorn

❓Q2:启动后无法访问网页

比如浏览器打不开 http://127.0.0.1:8000

💡 解答:

  • 看看终端有没有报错信息
  • 确保你没有同时运行多个程序占用了8000端口
  • 尝试重启终端再运行一次

❓Q3:我想加POST接口怎么做?

比如提交用户登录信息?

💡 解答: 我们可以修改上面的代码,加上一个 POST 示例:

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

然后在浏览器访问 http://127.0.0.1:8000/docs,你会看到一个自动生成的文档界面,可以用来测试接口!


学习建议:接下来你可以学什么?

数据流转过程-1

恭喜你完成了第一个FastAPI项目的搭建!这是非常重要的第一步。接下来你可以尝试以下几个方向继续深入学习:

✅ 继续学习路线推荐:

  1. 数据库交互

    • 学习使用 SQLAlchemy 或 Tortoise ORM 连接数据库
    • 可以尝试创建用户注册、登录等完整功能
  2. 接口安全认证

    • 如何使用 JWT 生成令牌,保护你的 API 不被随便调用
    • 如何验证用户身份
  3. 部署上线

    • 学习如何将你的项目发布到服务器,让全世界都能访问
    • 推荐工具:Gunicorn、Nginx、Docker
  4. 自动化测试

    • 学习使用 Pytest 编写自动化测试脚本
    • 确保每次修改都不会出错

总结:你已经迈出了成为后端工程师的第一步!

在这篇文章中,我们一起:

  • 了解了什么是 FastAPI
  • 搭建了开发环境
  • 掌握了基本的 API 写法
  • 成功运行了自己的第一个 Web 服务
  • 遇到了常见问题也知道怎么解决

后端开发并不神秘,只要你肯动手写代码,就会发现它其实很有趣。

接下来的路还很长,不过别担心,一步一步来,相信你很快就能做出自己的“披萨店系统”!

🎯 下一步目标:试着扩展今天写的天气API,比如让它支持更多城市,或添加用户反馈功能,看看你能写出什么样的玩法!

如果你喜欢这种教学风格,欢迎继续关注后续更高级的课程内容哦 😊

评论 0

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