
FastAPI系列
文章平均质量分 97
python的fastAPI框架的学习与使用
remandancy.h
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
FastAPI:(14)静态文件,测试
本文介绍了FastAPI中的静态文件处理和测试方法。主要内容包括: 静态文件挂载:使用app.mount()方法将静态文件目录或子应用挂载到指定路径,实现路径隔离且不影响主应用逻辑。正例展示了如何挂载静态文件夹和子应用,反例则揭示挂载到根路径的潜在问题。 静态文件特性:静态文件无需后台处理、内容固定、支持高效缓存,并可直接映射URL访问。通过实例演示了静态资源服务和上传文件处理。 测试分类:涉及端到端测试、单元测试和集成测试,为应用质量提供保障。 文中强调合理挂载的重要性,并提供了官网子应用文档的访问示例,原创 2025-06-16 22:35:16 · 805 阅读 · 0 评论 -
FastAPI:(13)后台任务,元数据,文档URL
本文介绍了FastAPI中的三个核心功能:后台任务、元数据和文档URL。后台任务功能允许异步执行耗时操作(如邮件发送、日志记录)而不阻塞主请求流程,通过BackgroundTasks类实现。元数据功能用于增强API文档的组织和描述性。文档URL则提供了自定义API文档路径的能力。文章通过具体实例展示了后台任务的正确使用方式(如邮件发送、日志记录)和常见误用场景(如数据库查询),并强调了其异步非阻塞的特性。同时说明了BackgroundTasks的底层实现来自Starlette框架,并提示了复杂后台任务可考虑原创 2025-06-16 22:34:38 · 713 阅读 · 0 评论 -
FastAPI:(12)更大的应用(APIRouter)
这篇文章介绍了FastAPI中构建大型应用的模块化方法,重点讲解了APIRouter的使用和项目结构设计。主要内容包括: 项目文件结构的最佳实践,如分层设计(MVC模式)和模块化组织,通过示例展示了用户管理模块和微服务的结构设计。 APIRouter的核心特性及优势:模块化路由管理、可重用性和集中式管理,通过用户管理和AI模型接口的正例演示了APIRouter的封装方法。 反例分析:单文件编码所有接口的缺点,如模块化缺失和维护困难。 文章强调合理的项目结构和APIRouter使用能提高代码可维护性、可扩展性原创 2025-06-16 22:34:02 · 903 阅读 · 0 评论 -
FastAPI:(11)SQL数据库
本文介绍了如何在FastAPI中使用SQLModel进行SQL数据库操作。SQLModel结合了SQLAlchemy的ORM功能和Pydantic的数据验证特性,支持双重用途(数据库表结构与API模型)、类型注解、自动生成表结构等。文章通过电子病历模型和商品库存模型展示了SQLModel的正向应用案例,同时用天气服务API模型作为反例说明其适用边界。主要内容包括SQLModel安装、单一模型创建流程(模型定义、引擎创建、表生成、会话管理等),并提供了代码示例演示Hero模型的完整CRUD操作流程。SQLMo原创 2025-06-16 22:33:25 · 1214 阅读 · 0 评论 -
FastAPI:(10)中间件与CORS
本文介绍了FastAPI中的中间件与CORS机制。中间件用于在请求/响应过程中拦截处理,适用于日志记录、认证等全局功能,需用@app.middleware("http")注册。CORS则解决跨域资源共享问题,通过CORSMiddleware配置允许的源、方法和头信息。文中通过正反例对比展示了中间件的正确用法(如记录请求时间)与滥用(如处理业务逻辑),以及CORS在单页应用和多平台API中的合理配置方式,帮助开发者正确使用这两项核心功能。原创 2025-06-16 22:32:43 · 1038 阅读 · 0 评论 -
FastAPI:(5)表单与请求文件
本文介绍了FastAPI处理表单数据和文件上传的核心方法。主要内容包括: 表单数据处理 通过Form类型声明接收application/x-www-form-urlencoded编码的表单数据 适用于简单键值对数据,如登录/注册场景 需安装python-multipart依赖包 表单模型 基于Pydantic.BaseModel构建结构化表单模型 每个字段需显式使用Form()声明 适合多字段复杂表单,提供更好的验证和复用性 可通过配置禁止额外字段 请求文件处理 使用File()声明文件上传字段 配合mul原创 2025-06-16 22:16:44 · 964 阅读 · 0 评论 -
FastAPI:(4)请求体
本文介绍了FastAPI中请求体(Request Body)的相关概念和使用方法。主要内容包括: 请求体的定义与特征:作为HTTP请求中结构化数据的载体,支持自动解析、验证和文档生成,适用于POST、PUT等方法。 Body请求体的应用场景: 单一值处理:使用Body()函数将单一值作为请求体参数 多参数组合:同时处理多个Pydantic模型参数 JSON自动解析:FastAPI会自动解析JSON格式数据 请求体与其他参数的配合使用:可以与路径参数、查询参数同时使用,FastAPI能正确识别不同参数来源。原创 2025-06-16 22:15:57 · 1022 阅读 · 0 评论 -
FastAPI:(3)参数
本文详细介绍了FastAPI框架中的参数处理机制,主要内容包括: 路径参数:用于URL路径中的变量定义,支持类型校验和自动文档生成。需注意路径匹配优先级(静态路由优先于动态路由)和参数预设值(使用Enum枚举实现)。 查询参数:通过Pydantic模型实现结构化验证,支持长度限制、正则表达式等校验方式。 Cookie/Header参数:提供统一的结构化验证机制。 响应控制:包括响应模型的数据过滤和状态码设置。 文章通过正反示例对比,展示了各种参数使用的正确姿势,特别强调路径参数中静态路由必须优先定义的重要性原创 2025-06-16 22:15:13 · 745 阅读 · 0 评论 -
FastAPI:(2)开启FastAPI
本文介绍了如何使用FastAPI创建API服务,并探讨了OpenAPI规范在API开发中的重要性。主要内容包括: 快速入门FastAPI的基本使用方法,展示如何创建简单API端点 详细解释OpenAPI规范的功能特点及其在FastAPI中的自动集成 通过医疗系统API(正例)和Flask接口文档(反例)对比说明OpenAPI的优势 深入解析"模式"的概念及其在数据验证、文档生成等方面的应用 提供多种模式应用示例,包括数据模式、API模式、数据库模式和UI模式原创 2025-06-16 22:14:26 · 818 阅读 · 0 评论 -
FastAPI:(9)安全性
摘要:本文介绍了FastAPI框架中的安全机制实现,重点聚焦OAuth2授权协议和JWT应用。主要内容包括:1) OAuth2密码模式在FastAPI中的实现方式,包括用户认证流程和Bearer Token验证机制;2) 通过智能家居和教育平台案例展示OAuth2的实际应用;3) 密码哈希存储的安全实践。文章采用代码示例结合图解的方式,清晰展示了从用户登录到资源访问的完整安全验证流程,适用于构建需要用户认证的中小型API系统。原创 2025-06-16 22:19:30 · 724 阅读 · 0 评论 -
FastAPI:(8)依赖项
FastAPI依赖项系统详解:本文介绍了FastAPI中依赖项的核心概念与实践用法。依赖项是一种声明式机制,通过Depends()实现可复用逻辑的自动注入,包括函数依赖、类依赖、子依赖等多种形式。文章通过用户认证、数据库连接管理等实际案例,展示了依赖项如何实现代码解耦、资源管理和安全控制,并详细解析了可调用对象(函数、类实例、partial对象等)在依赖系统中的应用。关键特性包括声明式注入、支持嵌套依赖、作用域控制和与安全机制的无缝结合,这些使FastAPI能够构建高度模块化和可维护的API应用。原创 2025-06-16 22:18:50 · 695 阅读 · 0 评论 -
FastAPI:(7)路劲操作配置与JSON编码兼容
本文介绍了FastAPI中路径操作配置与JSON编码兼容的核心功能。主要内容包括: 路径操作装饰器配置: 通过@app.get()等装饰器绑定URL路径与请求方法(GET/POST等) 可添加元数据(summary/description/tags)和响应模型 自动生成OpenAPI文档和Swagger UI界面 关键配置参数: status_code定义HTTP状态码 tags参数用于API分组 通过summary/description或文档字符串添加描述 response_description定义响原创 2025-06-16 22:18:05 · 935 阅读 · 0 评论 -
FastAPI:(6)错误处理
例如,出于某些方面的安全需要。)的处理,以及自定义异常类型的注册和响应方式。,FastAPI 就不再继续执行_路径操作函数_中的后续代码,而是立即终止请求,并把。中导入要复用的默认异常处理器,可以在处理异常之后再复用默认的异常处理器。只为错误返回纯文本响应,而不是返回 JSON 格式的内容。开发时,可以用这个请求体生成日志、调试错误,并返回给用户。如在调用「路径操作函数」里的工具函数时,触发了。能自动处理这些数据,并将之转换为 JSON。这样,异常处理器就可以接收。中处理该异常的默认异常处理器。原创 2025-06-16 22:17:25 · 830 阅读 · 0 评论 -
FastAPI:(1)并发async与await
FastAPI异步编程指南:高效处理I/O密集与CPU密集任务 摘要: 本文详解FastAPI的异步机制,区分I/O密集与CPU密集任务特征,指导开发者选择合适的并发模型。I/O密集任务(如网络请求、文件操作)推荐使用async/await异步处理,避免阻塞;CPU密集任务(如机器学习计算)则适合多进程并行。文章通过Mermaid图表清晰展示进程/线程/协程的关系,并提供代码示例说明async/await的实践用法,帮助开发者构建高性能Web服务。同时指出优化方向:I/O任务应优化网络/数据库,CPU任务需原创 2025-06-16 22:10:56 · 1302 阅读 · 0 评论