Learning Path
浏览 FastAPI 相关教程与章节。
PHP、Node.js、Java Web、Python Web 框架、API 与服务端开发。
教程
40
FastAPI Pydantic 模型 Pydantic 是 FastAPI 的核心依赖,用于数据校验和序列化。它让你使用标准的 Python 类型注解来定义数据模型,自动完成数据校验、类型转换和文档生成。 Pydantic 是什么 Pydantic 是一个 Python 数据校验库,它的核心思想是:用 Python 类型注解定义数据结构,Pydantic 自动负责校验和转换。在 FastAPI 中,Pydantic 主要用于: ..
FastAPI 查询参数校验 FastAPI 允许你为查询参数声明额外的校验规则和元数据,例如字符串长度限制、正则匹配等。通过 Query 和 Annotated,你可以在不改变函数逻辑的情况下增强参数校验。 基本校验 以下示例为查询参数 q 添加最大长度限制: 实例 [mycode4 type='python'] from typing import Annotated from fastapi impo..
FastAPI 查询参数 查询参数是 URL 中 ? 之后、以 & 分隔的键值对。当函数参数不是路径参数也不是请求体时,FastAPI 会将其自动解释为查询参数。 基本用法 声明查询参数只需要在函数参数中添加类型注解和默认值: 实例 [mycode4 type='python'] from fastapi import FastAPI app = FastAPI() # skip 和 limit..
FastAPI 请求体 请求体是客户端发送给 API 的数据。当你需要从客户端接收 JSON 数据时,使用请求体来传递。FastAPI 使用 Pydantic 模型来声明请求体的结构,自动完成数据校验、转换和文档生成。 请求体与查询参数的区别 数据传递方式位置适用场景HTTP 方法 路径参数URL 路径 /items/5标识资源GET、PUT、DELETE 等 查询参数URL 中 ?key=value筛选、分页等可选参数主要是 G..
FastAPI 请求和响应 在 FastAPI 中,请求(Request)和响应(Response)是与客户端交互的核心。 FastAPI 提供了强大的工具来解析请求数据,并根据需要生成规范的响应。 接下来我们来详细看下 FastAPI 的请求和响应。 HTTP 相关内容可以参考:HTTP 请求方法。 请求数据 查询参数 以下实例中我们定义了一个 /items/ 路由,接受两个查询参数 skip 和 limit,它们的类型均为整数,默..
FastAPI 响应模型 响应模型用于声明 API 返回的数据结构。通过声明响应模型,FastAPI 会自动完成输出数据的校验、序列化和过滤,确保客户端只接收到预期的数据。 使用返回类型注解 最简单的方式是直接注解路径操作函数的返回类型: 实例 [mycode4 type='python'] from fastapi import FastAPI from pydantic import BaseModel..
FastAPI 基本路由 在 FastAPI 中,基本路由是定义 API 端点的关键。每个路由都映射到应用程序中的一个函数,用于处理特定的 HTTP 请求,并返回相应的响应。 根路径路由 创建 FastAPI 实例和根路径路由: 实例 [mycode4 type='python'] from fastapi import FastAPI app = FastAPI() @app.get('/&#..
FastAPI 安全认证 FastAPI 内置了多种安全工具,支持 OAuth2、JWT 令牌、API Key 等常见的认证和授权方式。本节介绍如何实现基于 OAuth2 + JWT 的用户认证。 安全认证概述 FastAPI 支持的安全方案: 方案适用场景说明 HTTP Basic Auth简单内部服务用户名密码编码在请求头中,安全性较低 API Key服务间调用通过请求头、查询参数或 Cookie 传递密钥 OAuth2 + ..
FastAPI 数据库集成 FastAPI 可以与各种数据库集成,最常用的方式是使用 SQLAlchemy 作为 ORM。本节介绍如何使用 FastAPI + SQLAlchemy 构建具有 CRUD(创建、读取、更新、删除)功能的 API。 安装依赖 pip install sqlalchemy 项目结构 project/ ├── main.py # FastAPI 应用入口 ├── database.py ..
FastAPI 静态文件 FastAPI 可以方便地提供静态文件服务(如图片、CSS、JavaScript 文件),使用 Starlette 的 StaticFiles 实现。 安装依赖 StaticFiles 包含在 aiofiles 中,需要安装: pip install aiofiles 挂载静态文件目录 使用 app.mount() 将静态文件目录挂载到应用上: 实例 [mycode4 type='pyt..
FastAPI 响应状态码 HTTP 状态码是响应的一部分,用于告知客户端请求的处理结果。FastAPI 允许你在路径操作装饰器中声明默认的状态码,也可以在函数中动态修改。 声明状态码 使用 status_code 参数在装饰器中声明响应状态码: 实例 [mycode4 type='python'] from fastapi import FastAPI, status app = FastAPI() ..
FastAPI 第一个应用 本节通过一个完整的示例,带你从零开始创建一个 FastAPI 应用,并理解其中每一行代码的含义。 最简应用 创建一个名为 main.py 的文件,添加以下代码: 实例 [mycode4 type='python'] from fastapi import FastAPI # 步骤1:导入 FastAPI 类 # 步骤2:创建应用实例 app = FastAPI() # 步骤3..
FastAPI 测试 FastAPI 基于 Starlette 的 TestClient 提供了便捷的测试支持,可以在不启动服务器的情况下测试 API 的请求和响应。 安装依赖 TestClient 基于 httpx,需要安装: pip install httpx 基本测试 使用 TestClient 创建测试客户端,然后像使用 httpx 一样发送请求: 实例 [mycode4 type='python..
FastAPI 教程 FastAPI 是一个用于构建 API 的现代、快速(高性能)的 Python Web 框架,专为构建 RESTful API 而设计。 FastAPI 使用 Python 3.8+ 并基于标准的 Python 类型提示,使用 Starlette 和 Pydantic 构建,能够自动生成 API 文档并进行数据校验。 谁适合阅读本教程? 本教程适合有 Python 基础的开发者学习。如果你已经了解 Pyt..
VS Code 开发 FastAPI VS Code(全称 Visual Studio Code)是一款由微软推出的免费、开源、跨平台的代码编辑器。 VS Code 支持 Windows、macOS 和 Linux,拥有强大的功能和灵活的扩展性。 VS Code 教程:https://www.runoob.com/vscode/vscode-tutorial.html 下载地址: https://code.visualstudio...