波乔:
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 是 `` ,如何获得3个对应的 Test mapstruct实体?
TestDto
idList
1, 2, 3
name
Test
dsf9zpds1#
mapstruct无法为您执行此Map。但是,您可以使用多个源属性来实现以下功能:例如
@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); }
1条答案
按热度按时间dsf9zpds1#
mapstruct无法为您执行此Map。但是,您可以使用多个源属性来实现以下功能:
例如