为了账号安全,请及时绑定邮箱和手机立即绑定

Mapstruct 可选映射

Mapstruct 可选映射

阿晨1998 2021-09-29 10:10:54
我想知道我怎样才能改变这种mapping使用mapstruct,以避免空指针异常。 rep.getClientLevelType()可以为空,也可以为DIRECT或 RELATED。当fromValue上执行null或empty.string空指针异常发生。我不知道该怎么做,只有在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贡献1836条经验 获得超5个赞

将 a 转换String为 anenum可以通过 mapstruct隐式完成,请参阅文档中的隐式类型转换

因此,当字段的名称匹配时,您甚至可以将它们排除在外,而不是expression简单地添加source或添加,然后 MapStruct 将自动检测映射。


查看完整回答
反对 回复 2021-09-29
  • 1 回答
  • 0 关注
  • 143 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信