4.2 KiB
4.2 KiB
后端一致性问题清单(Java vs Nest v1)
仅列出不一致项,供后端开发 AI 按 Java 源码核实与修复。每条均给出 Java 具体文件位置(含行号范围)。
1)缺失控制器:API 任务接口
- 差异:Nest v1 缺少
GET /api/task/growth与GET /api/task/point - Java 基准:
niucloud-java/niucloud-core/src/main/java/com/niu/core/controller/api/sys/TaskController.java:19-27 - 修复建议:在 v1 增加对应
api/sys/task控制器与端点,实现从ITaskService获取成长任务与积分任务并返回Result.success(...)
2)缺失端点:小程序消息推送
- 差异:Nest v1 存在控制器但无方法;Java 端提供
/api/weapp/serve/{site_id} - Java 基准:
niucloud-java/niucloud-core/src/main/java/com/niu/core/controller/api/weapp/ServeController.java:25-29 - 修复建议:在 v1 的
/api/weapp控制器中添加serve/{site_id}端点,设置站点RequestUtils.setSiteId(siteId),调用IServeService.service(request, response)
3)缺失端点:公众号消息推送
- 差异:Nest v1 存在控制器但无方法;Java 端提供
/api/wechat/serve/{site_id} - Java 基准:
niucloud-java/niucloud-core/src/main/java/com/niu/core/controller/api/wechat/ServeController.java:26-30 - 修复建议:在 v1 的
/api/wechat控制器中添加serve/{site_id}端点,设置站点并调用IServeService.service(request, response)
4)错误统一处理:/error 响应逻辑缺失
- 差异:Nest v1 控制器存在但无方法;Java 端实现了状态码分支并返回
Result.fail(...) - Java 基准:
niucloud-java/niucloud-core/src/main/java/com/niu/core/controller/core/HttpServerErrorController.java:16-33 - 修复建议:在 v1 的
/error控制器实现handleError逻辑,按照 500 / 404 / 其他状态返回Result.fail(code, message)并附contextPath
5)异步任务接口响应语义不一致
- 差异:
GET /core/task/async- Java:仅返回固定消息“异步任务开始”
- Nest v1:返回异步执行结果对象
- Java 基准:
niucloud-java/niucloud-core/src/main/java/com/niu/core/controller/core/CoreAsyncTaskController.java:41-45 - 修复建议:将 v1 的
/async响应改为Result.success("异步任务开始"),与 Java 语义对齐;同步/sync保持返回执行结果
6)插件控制器多处行为与权限不一致
- 差异:
/core/addon/*/javaSetup:Java 执行AddonInstallJavaTools.installExec("shop")后返回空成功;v1 返回检查结果对象/setup/{id}:Java 执行installCheck后还执行install("shop", "local");v1 仅执行检查/exception:Java 抛出运行时异常;v1 返回成功/auth:Java 抛出AuthException;v1 返回成功/saCheckLogin:Java 需登录(@SaCheckLogin);v1 标记公开访问(@Public)
- Java 基准:
niucloud-java/niucloud-core/src/main/java/com/niu/core/controller/core/CoreAddonController.java:31-35(javaSetup)niucloud-java/niucloud-core/src/main/java/com/niu/core/controller/core/CoreAddonController.java:42-47(setup/{id})niucloud-java/niucloud-core/src/main/java/com/niu/core/controller/core/CoreAddonController.java:54-60(exception)niucloud-java/niucloud-core/src/main/java/com/niu/core/controller/core/CoreAddonController.java:67-73(auth)niucloud-java/niucloud-core/src/main/java/com/niu/core/controller/core/CoreAddonController.java:75-79(saCheckLogin)
- 修复建议:
/javaSetup与/setup/{id}按 Java 流程执行对应安装工具与安装动作,返回空成功/exception与/auth改为抛出与 Java 对应的异常类型,交由全局异常处理器响应/saCheckLogin取消公开访问,启用登录守卫,语义对齐 Java 的登录校验
7)多余控制器(Nest v1)
- 差异:
NiuExceptionHandlerController在 v1 存在但 Java 端无对应控制器 - 说明:可保留作为框架级占位;若需对齐 Java,可删除或实现为全局异常处理而非控制器形式
注:以上为截至当前检索的全部不一致项。修复时需严格对齐 Java 业务逻辑与接口契约,完成后建议运行端到端契约测试以验证路由、参数与响应一致性。