# 后端一致性问题清单(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 业务逻辑与接口契约,完成后建议运行端到端契约测试以验证路由、参数与响应一致性。