我想知道我怎樣才能改變這種mapping使用mapstruct,以避免空指針異常。 rep.getClientLevelType()可以為空,也可以為DIRECT或 RELATED。當(dāng)fromValue上執(zhí)行null或empty.string空指針異常發(fā)生。我不知道該怎么做,只有在rep.getClientLevelType()使用mapstruct.@Mapping(target = "clientLevelType", expression = "java(ClientLevelType.fromValue(rep.getClientLevelType()))")從 wsdl 生成的枚舉文檔:@XmlType(name = "ClientLevelType")@XmlEnumpublic enum ClientLevelType { DIRECT, RELATED; public String value() { return name(); } public static ClientLevelType fromValue(String v) { return valueOf(v); } }WSDL: <xs:simpleType name="ClientLevelType"> <xs:restriction base="xs:string"> <xs:enumeration value="DIRECT"/> <xs:enumeration value="RELATED"/> </xs:restriction> </xs:simpleType>
1 回答
一只甜甜圈
TA貢獻(xiàn)1836條經(jīng)驗 獲得超5個贊
將 a 轉(zhuǎn)換String為 anenum可以通過 mapstruct隱式完成,請參閱文檔中的隱式類型轉(zhuǎn)換。
因此,當(dāng)字段的名稱匹配時,您甚至可以將它們排除在外,而不是expression簡單地添加source或添加,然后 MapStruct 將自動檢測映射。
添加回答
舉報
0/150
提交
取消
