2025-07-15 fastapi GraphQL , FastAPI , 类型系统 , Schema定义 , 数据模型 , RESTful对比 , 实战案例 6 分钟阅读GraphQL类型系统如何让FastAPI开发更高效?FastAPI支持GraphQL类型系统,包括标量类型(String/Int/Float/Boolean/ID)和对象类型,可通过pydantic定义数据模型。枚举类型使用Python的Enum类定义。Schema定义规范包括Query和Mutation类型,支持字段、参数和返回类型。输入类型与输出类型应分离,分别用于接收客户端数据和返回响应数据。与 …阅读更多 cmdragon
2025-06-20 fastapi fastapi , 权限系统 , 日志审计 , 安全合规 , 数据模型 , 中间件 , 数据库优化 7 分钟阅读FastAPI日志审计:你的权限系统是否真的安全无虞?FastAPI权限系统的日志审计功能通过三层架构实现,核心价值包括安全合规、故障排查、行为分析和责任追溯。基础日志中间件记录请求信息,完整日志系统包含数据模型设计、日志记录服务和权限系统整合。实际应用案例展示了管理员操作和用户登录的审计实现。常见报错如422验证错误和数据库连接池耗尽,提供了相应的解决方案。优化建议包括数据脱敏、加密存储、索引优化和异步写入。阅读更多 cmdragon
2025-05-11 fastapi 多数据库迁移 , Alembic配置 , SQLAlchemy ORM , 数据库架构 , 数据模型 , 迁移脚本 , 错误处理 6 分钟阅读多数据库迁移的艺术:Alembic在复杂环境中的精妙应用现代Web应用中,多数据库场景包括主从架构、多租户系统、混合数据库和分库分表。Alembic支持多数据库配置,通过创建多版本目录结构和修改alembic.ini文件实现。环境脚本(env.py)需改造以支持多数据库迁移。模型定义推荐使用pydantic结合SQLAlchemy ORM。迁移操作包括生成独立脚本、执行迁移和查看历史。常见报错如未初始化版本表、缺 …阅读更多 cmdragon
2025-05-05 fastapi fastapi , TortoiseORM , 全链路开发 , 数据模型 , API端点 , 分页机制 , 软删除 7 分钟阅读FastAPI与Tortoise-ORM开发的神奇之旅FastAPI与Tortoise-ORM结合实现全链路开发,涵盖环境配置、数据模型定义、Pydantic模式设计及API端点实现。文章模型包含软删除功能,通过is_deleted字段实现逻辑删除。API支持创建、分页查询、条件更新和软删除操作,确保数据安全与完整性。分页机制通过offset和limit实现,条件更新使用exclude_unset=True避免 …阅读更多 cmdragon
2025-04-22 fastapi Tortoise-ORM , 异步查询 , Q对象 , F表达式 , 数据模型 , 复杂查询 , 错误处理 6 分钟阅读掌握Tortoise-ORM高级异步查询技巧Tortoise-ORM 提供了强大的异步查询功能,支持通过 Q 对象构建复杂查询条件,如逻辑运算符组合和动态条件构建。F 表达式用于字段级别的原子操作,避免竞争条件,适用于库存扣减和价格调整等场景。组合查询可通过注解和过滤实现复杂业务需求。常见错误包括字段不一致、未知字段和事务管理问题,需通过数据库迁移和异步上下文管理解决。阅读更多 cmdragon
2025-04-17 fastapi fastapi , SQLAlchemy , 数据库集成 , 依赖注入 , 数据模型 , 错误处理 , 单元测试 6 分钟阅读FastAPI与SQLAlchemy数据库集成FastAPI与SQLAlchemy的集成通过创建虚拟环境、安装依赖、配置数据库连接、定义数据模型和实现路由来完成。核心模块包括数据库引擎、会话工厂和声明性基类。数据模型通过SQLAlchemy定义,路由通过FastAPI实现,支持创建和查询用户。测试接口通过curl命令进行,常见报错包括表不存在、请求体验证错误和会话不可用。高级配置涉及连接池优化和单元测试 …阅读更多 cmdragon