2.9 KiB
2.9 KiB
API 路径变更通知模版
对应 11.py → build_path_change_markdown()。
适用:新增接口、删除接口、修改路径。
完整示例(修改路径)
# 【API路径变更通知】
变更类型: <font color="warning">**修改路径**</font>
路径: <font color="info">**jnpf-ftb/jnpf-ftb-biz/src/main/java/jnpf/workflow/controller/ApplyClockInController.java**</font>
修改人: dongzi
修改时间: 2026-06-08 16:30:00
---------------------------------------
#### 【URI变更详情】
- **原路径:** <font color="warning">~~`/apply/clockIn`~~</font> ← <font color="warning">**旧路径**</font>
- **新路径:** <font color="info">**`/apply/clockIn/v2`**</font> ← <font color="info">**新路径**</font>
示例(新增接口)
# 【API路径变更通知】
变更类型: <font color="warning">**新增接口**</font>
路径: <font color="info">**jnpf-ftb/.../ApplyClockInController.java**</font>
修改人: dongzi
修改时间: 2026-06-08 16:30:00
---------------------------------------
#### 【URI变更详情】
- **原路径:** `-`
- **新路径:** <font color="info">**`/apply/clockIn`**</font> ← <font color="info">**新增**</font>
若新增接口同时有参数变更,可在路径通知后追加【接口参数变动详情】区块(见
api-param-change.md)。
示例(删除接口)
# 【API路径变更通知】
变更类型: <font color="warning">**删除接口**</font>
路径: <font color="info">**jnpf-ftb/.../ApplyClockInController.java**</font>
修改人: dongzi
修改时间: 2026-06-08 16:30:00
---------------------------------------
#### 【URI变更详情】
- **原路径:** <font color="warning">**`/apply/clockIn/{id}`**</font> ← <font color="warning">**已删除**</font>
- **新路径:** `已删除`
字段说明
| 占位符 | 来源 |
|---|---|
| 变更类型 | 新增接口 / 删除接口 / 修改路径 |
| 路径 | Controller .java 相对仓库根路径(source_file) |
| 原路径 / 新路径 | 类级 @RequestMapping + 方法级 Mapping 拼接后的 URI |
| HTTP 方法 | 路径变更通知中默认不展示;与请求方式变更模版区分 |
检测逻辑(JavaParser)
- 解析旧/新 commit 下同一 Controller 源码 AST
- 提取每个方法的
httpMethod+uri(已有EndpointParser逻辑) - 用方法指纹(类文件 + 方法名 + 参数类型签名)匹配新旧接口
- 指纹相同且 URI 不同 → 修改路径
- 仅旧有新无 → 删除;仅新有旧无 → 新增
实现
EndpointSnapshotParser— 解析快照EndpointDiffEngine— 对比产出EndpointChangeReport.is_renamed_endpoint等标志ApiChangeNotifier.buildPathChangeMarkdown()— 渲染本模版