MapStruct会忽略自动取消映射的属性

我在代码中的不同业务用例之间共享的大型模型(超过50个字段)上使用了MapStruct。根据入口点的不同,某些属性将被映射,而某些属性将不被映射。构建项目时,我将始终收到“警告:未映射的目标属性”消息。

我研究发现,可以通过使用语义告诉mapstruct忽略字段

@Mapping(target = "propName", ignore = true)

问题是,考虑到我的对象具有如此多的字段,将需要大量代码来忽略每个映射器类中的每个单个属性。我也不希望此警告出现在我的日志中。有什么方法可以告诉mapstruct忽略未映射的内容,从而避免出现此消息?

回答:

您可以在@Mapper级别或上设置“未映射的目标策略”,@MapperConfig以在多个映射器之间共享设置:

@Mapper(unmappedTargetPolicy = ReportingPolicy.IGNORE)

public interface MyMapper {}

以上是 MapStruct会忽略自动取消映射的属性 的全部内容, 来源链接: utcz.com/qa/435244.html

回到顶部