说明 & 约定
本页描述数据来源、解析方法与各项约定,便于核对与判断可信度。
数据来源
- 后端:
jxxx-dscp(dscp-api-business + dscp-service-business),共 3097 个 Java 源文件,解析失败 0。 - 前端:dscp-html-manage、xghmall、zhy-mp-test、zhy-h5、hhrs、writeoff、activity_h5 七个项目的请求封装与接口字面量。
- 全部为静态源码解析,未启动服务、未修改任何项目文件。
接口如何识别
- 每个
@RestController/@Controller中带@GetMapping/@PostMapping/...的方法记为一个接口;类级@RequestMapping与方法路径拼接为后端路径。 - 渠道来自
@Route(channel = RouteChannel.X),它决定 URL 前缀(见总览渠道表)。同一接口若经接口/类重复声明会合并,并保留全部渠道。 - 分层:被 7 个前端调用、或渠道∈{管理后台/小程序/H5/App/质惠游}的接口为“详细卡片”;其余(多为 开放/回调)归入“精简表/汇总页”。
参数 / 取值 / 说明 的来源
- 位置:
@RequestBody→Body,@RequestParam→Query,@PathVariable→Path,@RequestHeader→Header;无注解的基础类型按 Query 推断。 - 说明:取字段/方法上的 javadoc 或行尾注释(已过滤误抓的代码片段)。
- 取值:枚举类型展开为
值—含义;校验注解@NotNull/@NotBlank/@Size/@Pattern/...与 chaos 的@MvcOptional(=可选)转为必填/校验标记。 - Body/响应字段递归展开(含父类字段,最深 3 层,循环引用折叠);分页基类
AbstractPageRequest注入 pageNum/pageSize。
响应包装
chaos 框架在传输层统一包装,前端同时兼容两套字段:{errcode, errmsg, data} 与 {code, msg, data}。每个接口的“响应参数”均先列出该外层,再展开 data 结构。activity_h5 例外,按其 request.js 记为 {code, message, data}。
处理逻辑
由调用链(service.method 等)+ @SysOperateLog 操作名 + 方法内联注释自动归纳,并按 CRUD 动词生成中文摘要;复杂分支以调用链与内联注释呈现,不编造业务细节。
环境 URL 的构成
主机(环境) + 渠道前缀(@Route) + 后端路径。渠道前缀以后端 @Route 为准(权威)。各前端仓库硬编码的环境不同(如 hhrs=dev、writeoff/zhy-h5/xghmall=uat;manage 的 .env.pro 实指 uat),生产域名仓库未确认,pro 行以 uat 主机示意并标注。
「匹配 / 未匹配」的含义
前端页把每个前端项目里出现的请求路径字面量,逐个去本后端 jxxx-dscp 的接口集合里查找(先去掉渠道前缀,如 /mp-api、/open-api,再比路径)。
- 匹配 exact:去掉前缀后的路径与某后端接口完全相同 —— 说明该前端确实在调用本后端这个接口。
- 匹配 suffix:完全匹配失败、但路径末两段与某后端接口一致时的兜底(多因路径前缀/层级差异)。
- 未匹配:本后端找不到同名接口。常见原因:① 芋道(yudao)模板自带、但本后端未实现的模块(crm / bpm / trade / infra-demo 等);② 路径命名差异(模板
/system/user/page↔ 本后端/system/user/queryUserPage);③ Mock 路由(如 zhy-mp-test 的VITE_USE_MOCK,数据来自前端假数据);④ 外部第三方接口(人社 / 地图 / 支付 等,不经本后端)。
因此“未匹配”不一定是 bug:它只是“该字面量在本后端无对应实现”的客观记录;是否真有问题,需结合上面的原因分类查看。
诚实性边界
- 示例请求/响应为按类型自动生成的结构参考,非真实样本。
- Body 类型若位于依赖 jar 或为 Map/基础类型,无法展开字段,会注明。
- 所有“未知/无/—”均表示源码中无可追溯信息,未作猜测。