Files
wwjcloud-nest-v1/.trae/documents/后端一致性问题清单(Java-vs-NestV1).md

57 lines
4.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 后端一致性问题清单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 业务逻辑与接口契约,完成后建议运行端到端契约测试以验证路由、参数与响应一致性。