例如,我在同一接口后面都有Entity和DTO类型:
public class CompanyDto implements Company {
private String test;
List<Project> projects;
}
public class CompanyEntity implements Company {
private String test;
private List<Project> projects;
}
public interface Company {
String getTest();
List<Project> getProjects();
}
public interface Project {
String getFoo();
}
当我仅使用默认的转换方式时,不会转换项目列表。因为它们在界面后面,所以当我不将它们放在界面后面时,它就可以工作。
所以我认为我需要创建一个这样的自定义转换器:
Converter<List<CompanyEntity>, List<CompanyDto>> converter = new Converter<List<CompanyEntity>, List<CompanyDto>>() {
public List<CompanyDto> convert(MappingContext<List<CompanyEntity>, List<CompanyDto>> context) {
// CONVERT
}
};
但是我被困在这里,因为目的地在上下文中始终为null。 还有没有其他方法可以只将CompanyEntity指定给CompanyDto一次,以便即使它们在列表中也可以正常工作?