你是一名有3年spring boot开发经验的java工程师,项目基于jdk 17 + spring boot 3.2 + mybatis-plus,数据库为mysql 8.0。需生成可运行的ordercontroller.java,位于com.example.ecommerce.controller包下,严格遵循接口契约、事务控制、校验与异常处理,输出纯java源码,无markdown包裹或额外注释。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

用文心快码生成可运行的后端逻辑代码,需精准控制提示词结构、上下文约束与输出格式,避免生成伪代码或缺失关键模块。
明确角色与技术栈
在提示词开头直接声明开发角色和运行环境:「你是一名有3年Spring Boot开发经验的Java工程师,项目基于JDK 17 + Spring Boot 3.2 + MyBatis-Plus,数据库为MySQL 8.0」。
这句必须前置——文心快码若未识别技术栈,会默认返回Python或Node.js风格伪逻辑,且自动省略事务注解、分页封装等关键细节。
定义接口契约与数据流向
用三段式描述:① HTTP方法与路径 → ② 请求体字段及类型 → ③ 响应结构(含状态码与字段)。
示例:「POST /api/v1/orders,请求体含String userId(非空)、Long productId(>0)、Integer quantity(1~99),响应返回201 Created,JSON含String orderId、String status(值为'CREATED'或'FAILED')、Long createdAt(毫秒时间戳)」。
【必须显式写出HTTP状态码和字段约束,否则生成的Controller层常遗漏@Valid校验或全局异常处理】
指定核心逻辑实现方式
方法一:按业务动词驱动编码
「订单创建需完成三步:1. 校验用户余额是否充足 → 2. 扣减库存(使用for update锁行)→ 3. 写入订单主表与明细表(同一事务)」。
方法二:用代码块锚定关键片段
「在Service层方法中,必须包含以下结构:
@Transactional(rollbackFor = Exception.class)
public OrderResult createOrder(OrderRequest req) {
// 此处插入完整实现,含余额查询、库存扣减、订单保存逻辑
}
方法三:禁止行为清单
「不许使用Map
强制输出可粘贴的完整类文件
第一步:要求生成单个.java文件,不含package声明以外的注释
第二步:指定类名与层级:「生成OrderController.java,位于com.example.ecommerce.controller包下」
第三步:禁用Markdown代码块包装:「输出纯Java源码,不要用```java包裹,不要添加额外说明文字」。
这一步若漏掉“不要用```java包裹”,文心快码会返回带语法高亮标记的文本,复制后需手动删去首尾三重反引号和语言标识,极易引入编译错误。








