Java mapstruct conditonly创建和嵌套对象
我正在使用mapstruct,有以下问题- 我有一个DTO父母:Java mapstruct conditonly创建和嵌套对象,java,mapstruct,Java,Mapstruct,我正在使用mapstruct,有以下问题- 我有一个DTO父母: { "parentId":1, "child":{ "id":1, "name":"firstBorn" } } 这是DTO和服务器类: @Data public class ParentDTO { int parentId; ChildDto child; } @Data public cla
{
"parentId":1,
"child":{
"id":1,
"name":"firstBorn"
}
}
这是DTO和服务器类:
@Data
public class ParentDTO {
int parentId;
ChildDto child;
}
@Data
public class ChildDTO{
int id;
ChildDto child;
}
POJO包括:
@Data
public class Parent{
int parentId;
Child child;
}
@Data
public class Child{
int parentId;
int id;
String name;
}
因此,我使用Mapstruct在这两者之间进行映射:
@Mapper( unmappedTargetPolicy = ReportingPolicy.IGNORE)
class ParentMapper {
@Mappings({
@Mapping(source = "parentId", target = "child.parentid"),
@Mapping(source = "name", target = "child.name")
})
Parent map(ParentDto source);
}
如果且仅当实例子对象存在于父对象中时,我希望创建该实例子对象,否则我希望该实例子对象为null,我如何实现此目标
当子项为空时,问题就会出现
{
"parentId":123
}
当且仅当它存在于父对象中时,它意味着什么?您是在说ParentDto中的child是否为null还是其他什么?您能否提供一个示例,说明您希望映射代码是什么样子的?如果且仅当它存在于父级中时,这意味着什么?您是在说ParentDto中的child是否为null还是其他什么?您能否提供一个示例,说明您希望映射代码是什么样子的?