小编Pap*_*usc的帖子

当mapStruct中id为空时如何排除字段?

我是新来的mapStruct,我不知道如何排除空字段。

这些类看起来像这样:

public class MyClass {
    String reference;
    Info info;
    ...
}

public class Info{
    Long id;
    List<String> parts = new ArrayList<>();
    ...
}
Run Code Online (Sandbox Code Playgroud)

这是映射器:

@Mapping(target = "info.id", source = "infoId")
public abstract MyClass toMyClass(RequestProto.line Line);
Run Code Online (Sandbox Code Playgroud)

因此,当它info.id为空时,我会使用带有空零件列表的参数MyClass进行实例化。info

MYCLASS(current)
{
    reference: "aa",
     info: {
       parts: []
     }  
}
Run Code Online (Sandbox Code Playgroud)

我想要的是,当 为info.id空时info,参数为空。

MYCLASS(expected)
{
    reference: "aa" 
    info: null
}
Run Code Online (Sandbox Code Playgroud)

我不知道如何实现这一目标。

我希望我解释了我自己。如果有人能给我带来一些启发,我将不胜感激

java mapstruct

5
推荐指数
1
解决办法
3382
查看次数

标签 统计

java ×1

mapstruct ×1