Agent Skills
返回列表
Web 接口契约

Web 接口契约

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_49d740fd/api-contract。

技能介绍

要解决什么问题

多人协作的 Spring Web 项目里,接口层最容易出现「动词用错、响应形状不一、Controller 里吞异常」三类问题:前端难以统一解析,联调时要对照每个方法的返回结构,排错时日志与 HTTP 状态也对不齐。本技能把团队里已经形成的接口约定写成可执行的写作规则,让新生成的 Controller 代码默认贴合同一套契约。

技能如何约束实现

  • 路由与注解:使用 @RestController 与 @RequestMapping 组织接口;HTTP 方法语义需准确——GET 查询、POST 新增或复杂查询、PUT 全量修改、DELETE 删除。
  • 统一响应:所有接口返回包装类 HttpResult,字段为 code(int)、msg(String)、data(T);成功与失败应调用 HttpResult 实体中已有的对应方法,而不是临时拼 Map 或自定义 DTO。
  • 异常路径:禁止在 Controller 内 try-catch;业务与校验异常向上抛出,由 @RestControllerAdvice 全局处理器捕获并转换为对外输出。
  • 日志:若项目中既有 Controller 已用 @Log 标记日志,新接口应沿用相同方式;若项目从未使用该注解,则不要凭空引入。

适用边界

本技能针对 Spring MVC / Spring Boot 风格 的后端接口,不覆盖 GraphQL、gRPC 或其它框架的契约。HttpResult 的具体类名与成功/失败 API 以你仓库中的实体为准,技能不会替你发明新的错误码体系;全局异常处理器的包名与切面范围需与现有工程一致。

使用场景

  • 在已使用 `HttpResult` 的 Spring Boot 仓库里,用 AI 起草新业务 CRUD 接口,需对齐 GET/POST/PUT/DELETE 语义与 `code`/`msg`/`data` 返回结构。
  • 维护遗留 Controller 时,要把方法内 `try-catch` 去掉,改为向上抛异常,由现有 `@RestControllerAdvice` 转成对外响应。
  • 生成或评审接口前,先扫一遍既有 Controller 是否带 `@Log`;有则新接口沿用,无则不在生成代码里擅自加注解。
  • 联调前核对新增 REST 方法是否一律走 `HttpResult` 成功/失败方法,避免前端为个别接口单独写解析逻辑。

适合人员

  • 维护 Spring Boot 单体、团队已固定 `HttpResult` 与全局异常处理的后端工程师,希望 AI 产出可直接合入的 Controller。
  • 日常在 Cursor/Copilot 里生成 Java 接口层、又常被 HTTP 动词或返回体不一致打回的 Java 维护者。
  • 负责把接口层规范写成可执行约束的技术负责人,需要生成代码默认遵守 RestController 契约。
  • 在 Code Review 中专门核对 REST 响应包装与异常是否外抛、而非在 Controller 内吞掉异常的资深后端。