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 参考风格 |
| 迭代改进 | 先生成基础版本,再逐步完善 |
注意事项
- AI 遵循项目已有的代码风格
- 自动检测使用的 HTTP 框架(gin, echo, fiber, net/http...)
- 数据库操作遵循项目使用的 ORM/查询方式
- 生成的代码包含完整的导入声明
- 建议在 Git 工作树干净时进行大量代码生成