gpt4 book ai didi

java - 在 ModelMapper 中全局跳过字段

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:38:48 26 4
gpt4 key购买 nike

在反序列化对象时,我正在使用 ModelMApper 将对象从 DTO 映射到 Impl。这是结合 JAxRS 完成的。当用户发出 POST/PUT 请求时,我不希望“id”被映射。

我需要跳过所有映射的“id”字段。我不想一个一个地做这个,因为所有类都不一定有显式映射。我如何配置映射器以跳过所有 DTO 到 Impls 映射的所有“id”字段。

谢谢

最佳答案

一种方法是使用条件来有条件地映射(或不映射)id 属性。像这样(未经测试):

Condition skipIds = new Condition() {
public boolean applies(MappingContext<Object, Object> context) {
return !context.getMapping().getLastDestinationProperty().getName().equals("id");
}
};

modelMapper.getConfiguration().setPropertyCondition(skipIds);

这会将 skipIds 条件设置为全局用于所有属性,因此将跳过值到名称为“id”的任何目标属性的映射。

关于java - 在 ModelMapper 中全局跳过字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25842388/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com