You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1.8 KiB

05 — ResourceNode → ResourceNodeDTO 重命名 + BaseDTO 继承

What to build: ResourceNode 改名为 ResourceNodeDTO,跨 4 个文件(ResourceController、ResourceServiceImpl、ResourceServiceImplTest、import 声明)。继承 BaseDTO,本地 id 字段移除改为继承自 BaseDTO。已有 fromEntity/toEntity 转换方法保留不动。ResourceController.saveOrUpdate 的入参类型跟着改名,行为不变——这是 Route A(DTO 双向)的典型实现:同一个 ResourceNodeDTO 既是 saveOrUpdate 的写入参,又是 listAll/save 的出参。改名后继承 BaseDTO 会引入 createTime/updateTime 字段,依赖 02(InitBinder)在入参侧 strip 掉。

Blocked by: 01 (BaseDTO 重构), 02 (InitBinder — 引入 createTime/updateTime 后需 strip)

Status: resolved

  • ResourceNode 类改名为 ResourceNodeDTO,文件名同步改名
  • ResourceNodeDTO 继承 BaseDTO,加 @EqualsAndHashCode(callSuper = true)
  • 移除本地的 id 字段声明,改为继承自 BaseDTO
  • 已有的 fromEntity/toEntity 方法保留,确认字段映射正确
  • ResourceControllerResourceNode 引用全部改为 ResourceNodeDTO
  • ResourceServiceImplResourceNode 引用全部改为 ResourceNodeDTO
  • ResourceServiceImplTestResourceNode 引用全部改为 ResourceNodeDTO
  • 其他引用 ResourceNode 的文件同步更新(IResourceService
  • 测试:saveOrUpdate 入参为 ResourceNodeDTO,提交 createTime 被 strip
  • 测试:listAll 返回的 JSON 中不包含 deleted/creatorId/updaterId
  • 测试:现有 ResourceServiceImplTest 全绿
  • 前端对接文档 docs/frontend-integration-menu-permission.md 中类名引用同步更新