Agent Skills
返回列表
API 字段溯源

API 字段溯源

开发编程 更新于 2026.08.29

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

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_fd316394/api-field-tracer

技能介绍

它解决什么问题

维护 Spring Boot + Spring Cloud Feign + MyBatis 项目时,排查一个报表接口的取数问题往往要先回答三个问题:这个字段从哪张表来?链路中跨了哪些服务?某个 WHERE 条件是谁加上的?人工逐层翻 Controller、Service、Mapper XML 和 Feign 接口既慢又容易漏掉跨服务调用。这个技能就是用自动化脚本 + 结构化分析,把「响应字段 → 数据库列」的完整血缘一次性梳理出来。

核心能力与工作流程

  • 通过 scripts/find_controller.py 根据 URL path 定位 Controller 方法,并从 @Operation 或方法名提取接口中文名
  • 从返回类型出发枚举响应 DTO/VO 全部字段,沿 Service 调用链进入 MyBatis 层:XML 走 scripts/parse_mybatis_xml.py 解析 SQL、ResultMap 与 JOIN;MyBatis-Plus 读 @TableName / @TableField;注解 SQL 直接读 Mapper 接口
  • 遇到 Feign 调用时读 config/services.json 定位下游仓库并递归溯源,生成带服务与 DB 分组、调用序号的 PUML 流程图;每个数据库箭头携带完整 SQL 和 -- 行内注释,标注维度字段映射、聚合方式与过滤条件来源
  • 输出 Markdown 映射文档,包含接口信息、本服务调用链、跨服务调用表与字段映射明细
  • 可选阶段:风险代码预报(基于 references/risk_rules.md 的人工评审,scripts/check_risk.py 只给候选);报表取数全流程说明(含表取数流程图,SQL / 判断 / 计算三类要素齐全,交付给没有 Java 源码权限的数据工程师)

适用边界与注意点

  • 所有服务名到本地仓库路径的映射集中在 config/services.json,首次使用前必须填写,路径错误会导致溯源失败;分享给团队时接收者要改成自己的路径,服务名 key 可不变
  • 多模块 Maven 工程(api/biz/dao 拆分)下脚本可能报「无 Java 文件」,需改用 Grep 手动定位
  • 下游服务没有本地源码时不会丢弃链路,而是标记 ⚠️未配置本地路径,相关字段标注为未溯源
  • 风险扫描是正则启发式的候选列表,可能存在误报漏报,最终判定需人工完成;报表说明只覆盖「数据从哪来」,不包含 ETL 写入与新表设计

使用场景

  • 排查报表接口取数异常,需要确认某个响应字段来自哪张表、哪条 SQL 的哪个过滤条件
  • 报表接口要迁移到新数据平台,需要完整字段血缘和表取数流程图作为口径基线
  • 接口返回数据部分来自下游服务,需要确认 Feign 调用链路与下游字段来源
  • 梳理接口全量字段映射,输出调用链路 PUML 流程图供评审和归档

适合人员

  • Java 后端工程师:排查接口字段来源,快速定位是 XML 映射还是 Service 计算出错
  • 报表平台数据工程师:需要把接口取数逻辑转成迁移方案,但没有 Java 源码查看权限
  • 技术负责人:评审接口涉及的源码风险,需要结构化的调用链路与字段映射文档
  • 需要为报表接口补全取数逻辑说明的团队:交付自包含的取数全流程文档用于迁移评审