【发布时间】:2021-06-02 18:17:32
【问题描述】:
我有一个包含很多字符串字段(有些是其他类型)的 DTO。
在将对象映射到另一个类似类的对象时,我需要对 String 类型的所有字段应用转换,在本例中为 trim()。
所以,我有:
class MyDTO {
String name;
String type;
String company;
String status;
String whatever;
... (there are about 80 String fields)
int someNumber;
double otherNumber;
}
class DestinationDTO { // has just some fields of MyDTO
String name;
String type;
String company;
String whatever;
int somenumber;
}
我尝试过的:
Converter<String, String> myConverter = c -> c.getSource().trim();
ModelMapper mm = new ModelMapper();
...
mm.typeMap(MyDTO.class, DestinationDTO.class)
.addMappings(c -> c
.using(myConverter)
.map(MyDTO::getName, DestinationDTO::getName)
) // this applies to just one field, I need all String fields
有没有办法一次性指定一个类的所有字符串字段,而不必列出它们?
尝试搜索 modelmapper.org 文档,但我看到的只是一一配置字段。
有什么想法吗?
【问题讨论】:
-
请通过tour 了解 Stack Overflow 的工作原理,并阅读How to Ask 了解如何提高问题的质量。然后edit你的问题包括你拥有的完整源代码作为minimal reproducible example,其他人可以编译和测试。请显示您尝试过的尝试以及您从尝试中得到的问题/错误消息。你试过转换器吗?
-
是的,我试过了。用一个例子更新了我的问题
标签: java modelmapper