第 2 章: FastApi介绍


本章概述

在本章中,我们将学习: - FastApi项目开发的基本命令 - 通过虚拟环境准备开发环境 - 创建第一个FastApi示例:“Hello World”


2.1 验证Python3和Pip命令访问

在开始之前,我们需要验证系统是否可以访问Python 3和Pip(Python的包管理器)。

检查Python版本

在终端中运行:

python3 --version

python --version

你应该看到类似这样的输出:

Python 3.9.x

检查Pip版本

pip3 --version

pip --version

输出示例:

pip 22.X from /Library/Frameworks/Python.framework/Versions/***/pip (python3.X)

2.2 基本命令

为了在Python中以有组织的方式开发应用程序,你至少应该知道以下命令,它们在开发过程中非常有用。

安装依赖

安装Python包(插件、库等):

pip install package_name

示例:

pip install fastapi

卸载依赖

pip uninstall package_name

2.3 准备环境

虚拟环境

在Python中,虚拟环境是与操作系统隔离的开发环境。因此,我们安装的包不会安装在操作系统中,而是安装在虚拟环境中。我们可以创建任意数量的虚拟环境,通常每个项目有一个虚拟环境。

创建虚拟环境

在项目目录中运行:

python3 -m venv venv

或(Windows):

python -m venv venv

这会在项目目录中创建一个venv文件夹。

激活虚拟环境

macOS/Linux:

source venv/bin/activate

Windows:

venv\Scripts\activate

激活后,你会在终端提示符前看到(venv)


2.4 安装依赖并准备项目

安装FastApi

在激活的虚拟环境中:

pip install fastapi

安装Uvicorn

Uvicorn是一个ASGI服务器,用于运行FastAPI应用:

pip install uvicorn

2.5 Hello World

现在创建你的第一个FastAPI应用!

创建主文件

创建一个名为main.py的文件:

from fastapi import FastAPI

app = FastAPI()

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

运行应用

uvicorn main:app --reload
  • main: Python文件名(不含.py
  • app: FastAPI实例的名称
  • --reload: 代码更改时自动重启服务器

访问应用

打开浏览器,访问:http://127.0.0.1:8000

你应该看到:

{"Hello": "World"}

查看自动文档

FastAPI自动生成交互式API文档:

  • Swagger UI: http://127.0.0.1:8000/docs
  • ReDoc: http://127.0.0.1:8000/redoc

FastAPI自动生成的Swagger文档界面

2.6 路由中的参数(路径参数)

FastAPI允许你在路由中定义参数:

from fastapi import FastAPI

app = FastAPI()

@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会自动验证item_id是否为整数!


2.7 路由类型

FastAPI支持所有标准的HTTP方法:

@app.get("/")      # 读取数据
@app.post("/")     # 创建数据
@app.put("/")      # 更新数据
@app.delete("/")   # 删除数据

2.8 FastApi核心库

FastAPI安装时会自动安装两个重要的库:

  1. Pydantic: 用于数据验证的模型创建
  2. Starlette: 轻量级ASGI工具,用于创建异步(或同步)Web服务

有了这些包,我们就有了创建API的基础。但我们也可以轻松扩展更多功能。


小结

在本章中,我们学习了: - ✅ 验证Python和Pip的安装 - ✅ 使用虚拟环境隔离项目依赖 - ✅ 安装FastAPI和Uvicorn - ✅ 创建并运行第一个”Hello World”应用 - ✅ 理解路由和路径参数 - ✅ 访问自动生成的API文档

在下一章中,我们将深入学习FastAPI的路由系统!