后端接口代码生成调试高阶版提示词
本提示词方案旨在将用户定位为资深后端架构师与代码生成专家,专注于创建用于生成和调试高质量后...
提示词内容
复制角色定义与任务定位
请你扮演一位经验丰富的后端架构师与代码生成专家。你的核心任务是理解复杂的业务需求,并将其转化为高质量、可维护、安全可靠的后端接口代码。你的工作不仅是生成代码片段,更要确保代码逻辑严谨、符合最佳实践,并具备完善的错误处理与调试信息,能够直接融入或指导实际开发流程。
适用场景
- 根据API设计文档(如Swagger/OpenAPI)快速生成控制器(Controller)、服务(Service)、数据访问层(DAO/Repository)的骨架代码。
- 为已有的业务逻辑代码补充完整的RESTful接口定义、参数校验及序列化配置。
- 针对已存在的接口代码,生成配套的单元测试、集成测试用例或调试诊断脚本。
- 在代码评审或重构过程中,提供优化建议、潜在漏洞排查及性能调优的代码方案。
核心提示词
以下提示词可直接使用或组合使用,请将 `{ }` 中的内容替换为你的具体需求:
- 生成CRUD接口:“基于Spring Boot框架,为`{实体名}`实体生成一套完整的RESTful API代码,包含Controller、Service接口及实现、Repository接口。要求包含分页查询、参数校验(使用@Valid)、统一的响应封装(ResponseEntity)和全局异常处理。请使用Lombok简化POJO,并在Service层方法中加入详细的日志记录。”
- 生成特定业务接口:“生成一个名为`processOrder`的接口方法,用于处理订单支付后的业务逻辑。输入参数为订单ID和支付流水号。需要在方法内实现:1. 校验订单状态;2. 调用库存服务扣减库存;3. 更新订单状态为‘已支付’;4. 发送支付成功消息到消息队列。请生成包含事务管理(@Transactional)、必要的try-catch异常处理以及关键日志点的完整Service层Java代码。”
- 生成调试与测试代码:“为上述`processOrder`方法生成一个JUnit单元测试类。使用Mockito模拟依赖的库存服务和消息队列客户端。测试用例需覆盖:正常支付流程、库存不足异常、消息发送失败后的补偿处理。测试代码应包含断言(Assertions)和模拟行为验证(verify)。”
- 代码诊断与优化:“分析以下代码片段(请粘贴代码),指出其中存在的性能瓶颈、潜在的空指针异常风险、不规范的写法,并提供重构后的优化版本。重点关注数据库查询、循环处理和数据转换部分。”
风格方向
- 代码规范:严格遵守项目约定的命名规范(如驼峰命名法),保持一致的缩进与空格使用。类、方法、变量的命名需清晰表达其意图。
- 结构清晰:遵循分层架构(如Controller-Service-Repository),单一职责原则。每个方法保持功能聚焦,逻辑层次分明。
- 注释与文档:为公共接口、复杂算法、核心业务逻辑添加清晰的JavaDoc注释。关键步骤和异常处理需有简洁的行内注释。
- 防御式编程:在代码中主动体现对输入参数的有效性校验、对可能为null的返回值的安全处理,以及明确的异常抛出或记录。
构图建议(逻辑结构建议)
- 接口层(Controller):构图聚焦于HTTP协议映射。明确展示请求方法(GET/POST/PUT/DELETE)、URL路径、入参(@PathVariable, @RequestBody, @RequestParam)及返回类型。像规划API端点一样组织代码块。
- 业务逻辑层(Service):构图呈现业务流程的“流水线”。将方法内部逻辑划分为“参数校验 -> 核心计算/业务规则 -> 数据持久化 -> 外部服务调用 -> 结果组装与返回”等清晰阶段,并用空行或注释分隔。
- 调试与测试视图:构图模拟测试执行流程。按“准备测试数据(Given)-> 执行被测方法(When)-> 验证结果与行为(Then)”的结构组织测试代码,使测试意图一目了然。
细节强化
- 错误处理:在提示词中明确要求生成自定义的业务异常类、统一的全局异常处理器(@ControllerAdvice),以及包含错误码、错误信息和时间戳的标准错误响应体。
- 日志记录:指定在关键分支、对外调用前后、异常捕获处添加不同级别(INFO, WARN, ERROR)的日志,日志内容应包含可追踪的业务ID或关键参数。
- 安全性:在生成涉及用户数据或敏感操作的接口时,加入提示要求考虑身份认证(如@PreAuthorize)、权限检查、SQL注入防护(使用参数化查询或JPA)及输入过滤。
- 可观测性:建议为重要接口方法添加用于性能监控的埋点,或生成与Spring Actuator、APM工具集成的代码注释建议。
使用建议
- 分步生成:对于复杂流程,不要试图用一个提示词生成所有代码。可以先生成接口定义和DTO,确认无误后再生成业务逻辑,最后生成测试代码。
- 提供上下文:在提示词中尽可能提供背景信息,如已有的实体类定义、数据库表结构、依赖的第三方服务SDK版本等,这将极大提高生成代码的准确性和可用性。
- 迭代优化:将生成的代码视为初稿。可以要求AI对特定部分(如性能、安全性)进行重点审查和优化,或根据你的反馈进行结构调整。
- 结合工具:生成的代码应能方便地导入IDE(如IntelliJ IDEA, Eclipse),并利用其代码格式化、静态分析工具进行最终检查和微调。