- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道如何使用 mapstruct
更改此映射
以避免 nullPointer 异常。rep.getClientLevelType()
可以为 null,也可以为 DIRECT
或 相关
。当 fromValue
在 null
或 empty.string
上执行时,会发生空指针异常。 我不知道如何做到这一点:仅当使用 mapstruct
的 rep.getClientLevelType()
不为 null 时,该字段才存在。
@Mapping(target = "clientLevelType", expression = "java(ClientLevelType.fromValue(rep.getClientLevelType()))")
从 wsdl 生成的枚举文档:
@XmlType(name = "ClientLevelType")
@XmlEnum
public 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>
最佳答案
可以通过mapstruct隐式地将String
转换为enum
,请参阅implicit type conversions在文档中。
因此,无需添加表达式
,只需添加源
,或者当字段名称匹配时,您甚至可以将其省略,然后 MapStruct 将自动检测映射。
关于java - Mapstruct 可选映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52404850/
我可以在我们有 String 到 Enum 映射的地方找到答案,但我找不到如何将 Enum 映射到 String。 public class Result { Value enumValue; }
我想使用 MapStruct 映射一个没有源对象的 Target 对象。我试过了,但出现以下错误。 Can't generate mapping method with no input argume
我在单独的文件中有这 3 个类 public class Book { @Id @GeneratedValue private Long id; @NonNull
如何使用 MapStruct 对于以下场景进行 bean 映射。 class Source { private String sourceId; private List courses; //al
是否可以在针对目标 bean 中字符串类型的 bean 属性设置字符串值之前对其进行修剪? 例如,Dozer 通过其映射配置提供了这样的功能, true 另见 Dozer Global C
我收到编译错误: com/mycompany/hibernate5/Main.java:[10,46] cannot find symbol symbol: class Customer_
目前我们在项目中使用 ModelMapper。但是,在该站点中,我看到很多人喜欢 MapStruct。 不确定差异以及我们是否需要真正进行升级。 ModelMapper 和 MapStruct 有什么
我正在使用 map 结构用于在我的 中将 Dto 映射到实体,反之亦然 Spring Boot 应用。 I want to know that, is there a way that i can m
如何在 MapStruct 中完全禁用“构建器”?我根本不想使用它们,因为它们给我带来了各种各样的问题。 我在 META-INF 下创建了服务文件(我更喜欢一种将它分配给映射构建器 = 的方法,但我没
@Mapper @Mapper 将接口或抽象类标记为映射器,并自动生成映射实现类代码。 public @interface Mapper { // 引入其他其他映射器 Class&
我在其他地方看到过这个问题,但不是在相同的上下文中,也没有适合我们用例的答案。 假设我在源对象中有一个列表字段: List mySourceList; 和相应的目标字段: List myTargetL
我在 MapStruct 中使用 spring data jdbc。 POJO 与具有所有“仅限内部”数据(如代理键、审计信息等)的表结构保持一致,而域对象是分层的并且仅包含业务相关数据。我必须在特定
页面信息 public class PageInfoDto implements Serializable { private int currentPageNum; private
在 MapStruct 版本 1.1.0.Final 中,这是可能的.... @Mappings({ @Mapping(target = "transaction.process.detail
我有一个 list List我想映射到另一个列表 List .这些类型如下所示: public class Payment { @XmlElement(name = "Installment"
我要单例Mapper两者兼而有之 create和 update方法。 create 方法生成的代码很好,但是在更新的情况下,我想在目标中设置属性,前提是它们在源中不为空。 我该怎么做 mapStruc
我想使用 mapstruct 在这些对象之间进行映射: MyObj1 -List myObj2List --List myObj3List ---string field1 MyObj4 -List
如何映射以下内容: class Source { String name; List others; } class Other { String otherName; Lis
我想映射以下类 class Schedule { ZoneId timezoneId; List rules; } class AvailabilityRule { long
我是 MapStruct API 的新手,谁能说一下如何进行嵌套映射。 我有两个类,一个是我实际的purchaseOrder 类,它是我的目标类,另一个是EDPurchaseOrder 类,它被称为源
我是一名优秀的程序员,十分优秀!