我想知道如何使用mapping
来更改此mapstruct
以避免nullPointer异常。
rep.getClientLevelType()
可以为null,也可以为DIRECT
或
RELATED
。在fromValue
或null
上执行empty.string
时,会发生空指针异常。
我不知道该怎么做,仅当使用rep.getClientLevelType()
的{{1}}不为null时才显示此字段。
mapstruct
从wsdl生成的枚举文档:
@Mapping(target = "clientLevelType", expression = "java(ClientLevelType.fromValue(rep.getClientLevelType()))")
@XmlType(name = "ClientLevelType")
@XmlEnum
public enum ClientLevelType {
DIRECT,
RELATED;
public String value() {
return name();
}
public static ClientLevelType fromValue(String v) {
return valueOf(v);
}
}
:
WSDL
答案 0 :(得分:3)
mapstruct可以隐式完成将String
转换为enum
的过程,请参见文档中的implicit type conversions。
因此,无需添加expression
,而只需添加source
,或者当字段名称匹配时,您甚至可以将其排除在外,然后MapStruct将自动检测映射。