Files
codeCheck/target/classes/api-templates/api-path-change.md

3.1 KiB
Raw Permalink Blame History

API 路径变更通知模版

对应 11.pybuild_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>
    分支: code/code_change_detection_v1.0
    修改人: 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>
    分支: code/code_change_detection_v1.0
    修改人: 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>
    分支: code/code_change_detection_v1.0
    修改人: 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

  1. 解析旧/新 commit 下同一 Controller 源码 AST
  2. 提取每个方法的 httpMethod + uri(已有 EndpointParser 逻辑)
  3. 方法指纹(类文件 + 方法名,如 ApplyClockInController.java#getApply)匹配新旧接口;参数增删改由 ParameterDiffEngine 检测
  4. 指纹相同且 URI 不同 → 修改路径
  5. 仅旧有新无 → 删除;仅新有旧无 → 新增

实现

  • EndpointSnapshotParser — 解析快照
  • EndpointDiffEngine — 对比产出 EndpointChangeReport.is_renamed_endpoint 等标志
  • ApiChangeNotifier.buildPathChangeMarkdown() — 渲染本模版