防止 MapStruct 中的空检查
Prevent Null Check in MapStruct
映射器
@Mapping(target="subjectName", source="courseName")
Target map(Source source);
MapStruct 生成方法
public Target map(Source source) {
if ( source == null ) {
return null;
}
Target target = new Target();
target.setSubjectName( source.getCourseName() );
return target;
}
现在,我的要求是防止在 MapStruct 生成的方法中对 source
进行空检查。如何实现?
目前实现该目标的唯一方法是定义您自己的自定义 public Target map(Source source)
方法。 MapStruct 已经有一个未解决的问题来支持 @Nullable
、@NonNull
注释,但仍然没有完成。
@Mapping(target="subjectName", source="courseName",qualifiedByName = "yourCustomMethod")
Target map(Source source);
@Named("yourCustomMethod")
default Target yourCustomMethod(Source source){
if ( source == null ) {
return null;
}
Target target = new Target();
target.setSubjectName( source.getCourseName() );
return target;
}
我称之为从编译器复制:D
映射器
@Mapping(target="subjectName", source="courseName")
Target map(Source source);
MapStruct 生成方法
public Target map(Source source) {
if ( source == null ) {
return null;
}
Target target = new Target();
target.setSubjectName( source.getCourseName() );
return target;
}
现在,我的要求是防止在 MapStruct 生成的方法中对 source
进行空检查。如何实现?
目前实现该目标的唯一方法是定义您自己的自定义 public Target map(Source source)
方法。 MapStruct 已经有一个未解决的问题来支持 @Nullable
、@NonNull
注释,但仍然没有完成。
@Mapping(target="subjectName", source="courseName",qualifiedByName = "yourCustomMethod")
Target map(Source source);
@Named("yourCustomMethod")
default Target yourCustomMethod(Source source){
if ( source == null ) {
return null;
}
Target target = new Target();
target.setSubjectName( source.getCourseName() );
return target;
}
我称之为从编译器复制:D