【发布时间】:2019-02-09 18:23:40
【问题描述】:
我正在使用 java Mapstruct 将实体映射到 DTO
我想使用另一个映射器中的一个映射器,并且都使用相同的签名实现相同的方法,因此我得到“为映射属性找到不明确的映射方法”
我已经尝试在接口上实现共享方法,然后在两个映射器上扩展接口,但问题仍然存在
我猜我需要使用某种限定符。我在谷歌和官方文档中搜索过,但我不知道如何应用这个技术
// CHILD MAPPER ***
@Mapper(componentModel = "spring", uses = { })
public interface CustomerTagApiMapper {
CustomerTagAPI toCustomerTagApi(CustomerTag customerTag);
default OffsetDateTime fromInstant(Instant instant) {
return instant == null ? null : instant.atOffset(ZoneOffset.UTC);
}
}
// PARENT MAPPER ***
@Mapper(componentModel = "spring", uses = { CustomerTagApiMapper.class })
public interface CustomerApiMapper {
CustomerAPI toCustomerApi(Customer customer);
default OffsetDateTime frmInstant(Instant instant) {
return instant == null ? null : instant.atOffset(ZoneOffset.UTC);
}
}
【问题讨论】: