必须使用CodeBuddy CLI驱动结构化生成电商后端API,它自动识别商品、订单、用户三类资源,生成RESTful路由、DTO校验、JWT鉴权及数据库适配逻辑;需先全局安装CLI、完成腾讯云账号绑定,再执行init命令创建骨架,并通过自然语言指令或Schema文件生成模块API,最后用CODEBUDDY.md固化通用规范。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要为电商平台快速产出可运行、带验证与错误处理的后端API,必须绕过零散指令拼凑,直接调用CodeBuddy CLI驱动结构化生成——它能自动识别电商领域语义,注入商品、订单、用户三类核心资源的RESTful路由、DTO校验、JWT鉴权及MongoDB/MySQL适配逻辑。
用CLI命令初始化电商后端骨架
这一步操作起来很简单,直接在终端执行命令即可,但前提是你已全局安装CLI并完成账号绑定。
第一步:确保已安装最新版CLI,在终端运行 【npm install -g codebuddy-cli@latest】;若提示权限错误,请加sudo重试。
第二步:执行 codebuddy login,按提示跳转网页完成腾讯云账号授权;未登录状态下所有生成命令会失败且不报具体错误。
第三步:进入空项目目录,运行完整初始化命令:codebuddy init ecommerce-backend --template nestjs-mongo。该命令会创建含src/modules/product、src/modules/order、src/modules/user的标准分层结构,并预置JWTAuthGuard、Mongoose连接、全局异常过滤器。
注意:模板名nestjs-mongo不可拼错,若误输为nest-mongo会导致目录结构缺失modules子目录,后续生成将无法定位资源上下文。
用自然语言指令批量生成商品模块API
商品模块是电商最核心的资源,需同时支持分页查询、SKU级库存校验、图片上传字段约束。CodeBuddy能从一句话中提取出全部契约要素。
在项目根目录终端输入以下指令:
codebuddy generate "商品管理API:GET /api/v1/products(分页查询,每页20条),POST /api/v1/products(创建商品,name必填≤50字、price>0、coverImage为base64图片字符串、tags为字符串数组),PUT /api/v1/products/{id}(全量更新,禁止修改createdAt),DELETE /api/v1/products/{id}(软删除);所有接口启用JWT鉴权,401返回Unauthorized,403返回Forbidden"
生成过程会自动创建product.controller.ts、product.service.ts、create-product.dto.ts等文件,其中DTO已内置@IsString() @MaxLength(50)等装饰器,且coverImage字段被标记为@IsBase64()而非简单@IsString()。
这一步的关键在于“软删除”四个字——CodeBuddy会自动将delete方法改为调用updateOne({ _id }, { $set: { deletedAt: new Date() } }),而非执行deleteOne,避免数据不可逆丢失。
用数据库Schema文件生成订单模块API
当订单表结构已在MySQL中定义完毕,且含外键关联用户与商品时,应优先使用Schema反向推导,确保API字段类型与数据库完全一致,杜绝手动映射导致的int/string类型错位。
CodeBuddy Code CLI 的安装、配置与使用指南。CodeBuddy Code 是腾讯推出的 AI 驱动 CLI 编程助手,支持自然语言驱动开发。 - 必备触发词:CodeBuddy, codebuddy, AI CLI, Tencent AI coding, @tencent-ai/codebuddy-code, terminal AI assistant - 适用场景:安装 CodeBuddy CLI、配置 CodeBuddy、使用 CodeBuddy 命令、排查 CodeBuddy 问题
方法一:导出SQL并命名规范文件
从MySQL执行SHOW CREATE TABLE orders;,复制建表语句,保存为项目根目录下的schema/orders.sql;文件名必须与表名一致,否则CLI无法匹配资源名称。
方法二:执行Schema驱动生成
运行命令:codebuddy generate api --schema schema/orders.sql --framework nestjs --auth jwt。该命令会解析user_id和product_id外键,自动生成@ManyToOne关系映射,并在DTO中为userId和productId添加@IsInt()校验。
方法三:强制启用事务与幂等性
在生成后的order.service.ts中,找到createOrder方法,在其上方手动添加装饰器@Transaction();再为方法参数@Body() dto添加@ApiIdempotencyKey('idempotency-key')注解——这两处需人工补全,因Schema本身不包含事务与幂等语义。
用CODEBUDDY.md固化电商通用规范
为避免每次生成都要重复描述“所有接口路径以/api/v1/开头”“响应统一包装为Result
新建CODEBUDDY.md,写入以下内容:
## 电商API规范<br>路径前缀:`/api/v1/`<br>资源复数:`products`、`orders`、`users`<br>状态码:200(查询)、201(创建)、204(删除)、400(参数错误)、401(未登录)、403(无权限)、404(资源不存在)<br>响应结构:{ "code": 200, "message": "success", "data": {...}, "timestamp": 1719808080 }
保存后,后续所有codebuddy generate指令将默认遵循此规范,无需再声明路径前缀或响应格式;若某次生成结果未体现code/message/data三层结构,说明CODEBUDDY.md未被正确读取——请检查文件名是否为全大写且无扩展名错误。
执行codebuddy generate "用户收货地址API:POST /addresses(接收province/city/district/detail/postcode/phone/name)",观察生成的DTO是否自动包含code: number字段及message: string字段——这是验证规范生效的最快方式。














