SuperAPI AI 工具集

backend-patterns

编程与开发

查看项目

更新于 10-15 20:35

技能介绍

用途:为 Node.js、Express 和 Next.js API 路由提供后端架构模式、API 设计、数据库优化与服务端最佳实践参考,帮助构建可扩展、可维护的服务端应用。

主要能力: API 设计:基于资源的 RESTful URL,配合查询参数实现过滤、排序与分页(limit、offset)。 架构模式:仓储模式抽象数据访问;服务层承载业务逻辑并与数据访问分离;中间件模式处理请求与响应管线(如 withAuth 认证包装)。 数据库:查询优化(仅选择所需列、排序与限制)、避免 N+1 查询(批量获取后以 Map 合并)、事务模式(通过 Supabase RPC 执行 SQL 函数,异常自动回滚)。 缓存:Redis 缓存层与 Cache-Aside 模式,含 setex 过期与失效接口。 错误处理:集中式错误处理器(ApiError、Zod 校验错误映射),以及指数退避重试 fetchWithRetry(1s、2s、4s)。 认证授权:JWT 校验 verifyToken、requireAuth、基于角色的权限(read、write、delete、admin)与 requirePermission。 限流:基于内存的滑动窗口 RateLimiter(如 100 请求/分钟,超出返回 429)。 后台任务:简单 JobQueue,添加任务后异步处理,避免阻塞请求。 日志:结构化 JSON 日志(Logger,含 timestamp、level、message 与上下文)。

使用方式:资料以代码示例形式展示各模式的定义与调用方式,例如 withAuth 包装处理器、requirePermission('delete') 装饰 DELETE 处理器、redis.setex 写入缓存等。示例中出现的 Supabase、Redis、jwt、zod、NextResponse 等均为示例用法,具体安装命令与依赖版本暂未提供。

适用场景:需要规范化 API 路由、分离业务与数据层、优化数据库查询、加入缓存与限流、统一错误与日志处理的 Node.js 服务端项目。

限制:资料未提供安装步骤、价格、性能基准或平台依赖说明;示例涉及 Supabase、Redis、JWT、Zod 等具体技术,实际使用需自行准备环境。应遵循的最佳实践包括按规模选择模式、保持关注点分离、一致处理错误、策略性缓存、结构化日志、默认安全、优化查询、使用事务、限流与监控。