POJO:
public class TestDto {
private List<String> idList;
private String name;
}
实体:
public class Test {
private String id;
private String name;
}
如果TestDto
的idList
是1, 2, 3
,name
是abc
,那么如何通过MapStruct得到3个对应的Test
实体?
MapStruct无法为您执行此映射。然而,您可以使用多个源属性来实现这样的功能:
例如
@Mapper
public interface TestMapper {
default List<Test> map(TestDto dto) {
if (dto == null || dto.getIdList() == null) {
return null;
}
List<String> idList = dto.getIdList();
List<Test> tests = new ArrayList<>(idList.size());
for (String id: idList) {
tests.add(map(id, dto);
}
return tests;
}
Test map(String id, TestDto dto);
}