![]() | 1 KOMA1NIUJUNSHENG 2023-11-09 09:46:37 +08:00 看源码 |
![]() | 2 manasheep 2023-11-09 09:49:52 +08:00 序列化成 json ,然后生成 json patch ? |
![]() | 3 SirYuxuan 2023-11-09 09:51:13 +08:00 aop 反射 逐个字段对比 |
4 jianming348 2023-11-09 09:54:17 +08:00 用 jackson 或 Gson 将数据转成 map 类型,然后对比 keys 的数量 |
![]() | 5 chendy 2023-11-09 09:56:29 +08:00 反射拿所有 getter 方法 然后放一起对比 |
6 likre OP 反射拿字段很简单,主要是对比很难受,字段又多,mapper 的方法又长。。 |
7 dddd1919 2023-11-09 11:35:00 +08:00 如果只是简单的同名字段映射,把所有属性粘出来排个顺序,找个文本 diff 工具一目了然 |
![]() | 8 nerkeler 2023-11-09 11:36:23 +08:00 via Android fastjson 自定义注解转换 |
9 YangtzeHuanghe 2023-11-09 12:28:52 +08:00 via iPhone 你可以考虑使用单元测试来确保在 a 到 b 到 c 的转化过程中没有遗漏或者多余的字段。 首先,你可以为每个 DTO 编写单元测试,测试这些转化方法是否按预期工作。在测试中,你可以使用断言来验证转化后的对象是否包含了正确的字段和值。 其次,你可以编写一些集成测试,测试整个转化过程是否正确执行。这可以包括将 a 转化为 b ,再将 b 转化为 c ,然后验证 c 是否包含了所有正确的字段和值。 另外,你也可以考虑使用一些代码静态分析工具或者代码审查工具来检查你的代码,以确保没有漏掉或者多余的字段。 总的来说,通过使用单元测试和集成测试,以及利用工具来帮助你审查代码,你可以相对自动地确保在转化过程中没有遗漏或者多余的字段。--------from ChatGPT |
10 julyclyde 2023-11-09 13:08:12 +08:00 单元测试只是“one of 你可以做的事” 而不是“one of 可以实现目标的方法” |
11 stephniebuewke 2023-11-09 14:04:23 +08:00 |
![]() | 12 Aresxue 2023-11-13 11:33:39 +08:00 这个场景反射就是最简单的方案。 |