2025-10-02 postgresql 基础入门 , PL/pgSQL , 存储过程 , 数据库编程 , 动态SQL , 事务管理 , 错误处理 13 分钟阅读PostgreSQL里的PL/pgSQL到底是啥?能让SQL从“说目标”变“讲步骤”?PL/pgSQL 是 PostgreSQL 的过程化 SQL 语言,结合了 SQL 的声明式语法和过程式控制结构,用于编写复杂的数据库逻辑。其基本结构包括函数和过程,支持变量声明、参数传递、动态 SQL、条件判断、循环以及错误处理。通过 PL/pgSQL,用户可以实现计算、批量操作、事务控制等功能。函数通过 SELECT 调用,过程通过 CALL 调用,且过 …阅读更多 cmdragon
2025-09-11 fastapi 需求驱动测试 , FastAPI , 测试用例设计 , 用户注册API , Pydantic , 错误处理 , 测试驱动开发 8 分钟阅读需求驱动测试:你的代码真的在按需行事吗?需求驱动测试(Requirement-Driven Testing)是一种在测试驱动开发(TDD)中先根据需求定义测试用例,再实现功能的开发方法。在FastAPI开发中,首先分析API接口需求文档,将需求转化为具体的测试断言,编写失败测试,逐步实现功能使测试通过。典型测试场景包括HTTP状态码验证、响应数据结构验证、错误处理逻辑、权限验证和数据验证规则。通过 …阅读更多 cmdragon
2025-09-06 fastapi FastAPI , 依赖注入 , 单元测试 , 请求拦截 , 第三方服务调用 , 错误处理 , 模拟与覆盖 7 分钟阅读如何在 FastAPI 中巧妙覆盖依赖注入并拦截第三方服务调用?FastAPI 的依赖注入系统允许解耦复杂依赖关系,便于代码重用。在测试中,可通过 dependencies_overrides 覆盖真实依赖,避免影响实际服务。多层依赖覆盖时,需特别注意共享资源(如数据库连接)的处理。对于第三方服务调用,可使用自定义 HTTP 客户端拦截器实现请求拦截、模拟和降级处理,确保在服务异常时返回降级数据。常见报错如 422 …阅读更多 cmdragon
2025-09-03 fastapi Pydantic , FastAPI , 数据验证 , 单元测试 , 错误处理 , API测试 , 最佳实践 7 分钟阅读Pydantic模型验证测试:你的API数据真的安全吗?Pydantic在FastAPI中用于数据验证和序列化,通过Python类型注解自动解析请求体并执行验证规则,确保代码简洁安全。验证测试至关重要,可防止无效数据进入业务逻辑层,避免安全漏洞和API错误。测试环境需使用最新库版本,模型定义包括邮箱、密码和年龄的验证规则。测试脚本涵盖有效数据、边界条件和错误场景的验证。与FastAPI集成测试确保API端点验证正 …阅读更多 cmdragon
2025-09-03 fastapi FastAPI , 单元测试 , 依赖注入 , 测试策略 , 模拟依赖 , 异步测试 , 错误处理 8 分钟阅读如何在FastAPI中巧妙隔离依赖项,让单元测试不再头疼?FastAPI单元测试是确保应用质量的关键,尤其依赖注入系统的隔离测试至关重要。通过依赖注入机制,FastAPI能自动解析函数参数并执行依赖函数,将返回值注入路由处理函数。测试时,可使用dependency_overrides替换依赖项,模拟不同场景。单元测试应占据最大比重,避免外部服务不可用导致的测试失败。测试技巧包括模拟依赖返回、依赖项层级隔离和异步依赖 …阅读更多 cmdragon
2025-08-21 fastapi FastAPI , 死信队列 , RabbitMQ , Pydantic , 消息队列 , 错误处理 , 消息重试机制 7 分钟阅读FastAPI的死信队列处理机制:为何你的消息系统需要它?死信队列(DLQ)用于处理消息系统中的失败消息,确保主业务流程不被阻塞。FastAPI结合RabbitMQ实现死信队列,通过配置死信交换机和队列,处理消息拒收、TTL过期、队列满和重试耗尽等场景。使用Pydantic验证消息格式,确保数据有效性。FastAPI消费者服务处理消息时,若失败则触发死信路由,消息最终进入死信队列。实现包括队列初始化、消息验证、异常 …阅读更多 cmdragon