API 开发助手

wescode 提供端到端的 API 开发辅助,从设计、实现到测试和文档。


API 设计

AI 辅助设计

描述需求,AI 帮你设计 API:

用户:"设计一个用户管理 REST API"

AI 生成:
- GET    /api/v1/users          列出用户
- POST   /api/v1/users          创建用户
- GET    /api/v1/users/:id      获取用户
- PUT    /api/v1/users/:id      更新用户
- DELETE /api/v1/users/:id      删除用户
- GET    /api/v1/users/:id/roles 获取角色

代码生成

基于设计生成完整代码:

用户:"生成用户管理 API 的完整代码"

AI 生成:
1. model/user.go      — 数据模型
2. handler/user.go    — HTTP Handler
3. service/user.go    — 业务逻辑
4. repository/user.go — 数据访问
5. router.go          — 路由注册
6. handler/user_test.go — 测试

端点实现

从零开始

用户:"添加一个 POST /api/v1/orders 接口"

AI 行为:
1. 查看现有 API 结构(CKG 搜索 router/handler)
2. 遵循已有的代码风格
3. 实现完整链路:
   - 请求 DTO 定义
   - 参数验证
   - Handler 函数
   - Service 层逻辑
   - Repository 层
   - 路由注册
4. 生成测试代码
5. 运行测试验证

修改现有 API

用户:"给 GET /api/v1/users 添加分页支持"

AI 行为:
1. CKG 找到 handler 和 service
2. 分析现有实现
3. 添加分页参数(page, page_size)
4. 修改查询逻辑
5. 更新响应格式
6. 更新测试

中间件开发

常见中间件

AI 帮你开发各种中间件:

类型示例
认证JWT 验证、API Key 校验
授权RBAC 权限检查
限流Token Bucket、Sliding Window
日志请求/响应日志
跨域CORS 配置
压缩Gzip 响应压缩
恢复Panic Recovery

示例

用户:"写一个 JWT 认证中间件"

AI 行为:
1. 检查项目使用的 HTTP 框架
2. 按框架约定实现中间件
3. 处理各种边界情况:
   - Token 缺失
   - Token 过期
   - Token 格式错误
   - 刷新逻辑
4. 注册到路由
5. 编写测试

数据库操作

CRUD 生成

用户:"给 Order 模型生成完整的 CRUD 操作"

AI 生成:
1. 数据库迁移 SQL
2. Repository 接口与实现
3. 事务处理
4. 错误处理
5. 单元测试

查询优化

用户:"这个查询太慢了"

AI 行为:
1. 分析 SQL 查询
2. 检查索引使用情况
3. 识别 N+1 问题
4. 建议查询优化:
   - 添加索引
   - 使用 JOIN 替代子查询
   - 分页优化
   - 缓存策略

错误处理

统一错误响应

用户:"设计一个统一的 API 错误处理方案"

AI 设计:
{
  "code": "USER_NOT_FOUND",
  "message": "用户不存在",
  "details": {...}
}

生成:
1. 错误码定义
2. 错误响应结构
3. 全局错误处理中间件
4. 自定义错误类型

验证错误

用户:"添加请求参数验证"

AI 行为:
1. 选择验证方案(struct tags / validator)
2. 定义验证规则
3. 统一验证错误格式
4. 编写验证测试

API 测试

自动化测试

用户:"给所有 user API 写集成测试"

AI 生成:
1. 测试辅助函数(setup/teardown)
2. 各端点测试用例:
   - 正常流程
   - 参数错误
   - 权限校验
   - 并发安全
3. Mock 外部依赖
4. 测试数据准备

API 冒烟测试

用户:"写一个 API 冒烟测试脚本"

AI 生成 shell 脚本或测试代码:
1. 健康检查
2. 认证流程
3. 核心接口调用
4. 响应格式验证
5. 性能基线

文档生成

API 文档

用户:"生成 API 文档"

AI 行为:
1. 扫描路由注册代码
2. 提取端点信息
3. 分析请求/响应结构
4. 生成 Markdown 文档:
   - 端点列表
   - 请求参数
   - 响应格式
   - 错误码
   - 使用示例

OpenAPI/Swagger

用户:"生成 OpenAPI 规范"

AI 行为:
1. 分析代码中的路由和 DTO
2. 生成 openapi.yaml
3. 包含所有端点、参数、响应
4. 添加认证方案描述

微服务场景

gRPC 开发

用户:"基于 proto 文件生成 gRPC 服务"

AI 行为:
1. 读取 .proto 文件
2. 生成服务接口实现
3. 实现各 RPC 方法
4. 注册服务
5. 编写客户端测试

服务间通信

用户:"实现一个 HTTP 客户端调用 Order 服务"

AI 行为:
1. 定义客户端接口
2. 实现 HTTP 调用
3. 添加重试和超时
4. 错误处理和降级
5. 断路器模式

最佳实践

AI 生成的 API 代码特点

高效使用

建议说明
描述业务需求而不是具体实现细节
指出约束如认证方式、响应格式要求
引用现有代码@handler.go 让 AI 参考风格
迭代改进先生成基础版本,再逐步完善

注意事项