我是 MapStruct 的新手,需要一些帮助。
我有一个Source类,其属性为
Object input;
在运行时,返回名为TicketDetails的自定义对象。
现在,在我的目标类中有一个名为
的属性MyTicket myTicket;
其中,我需要使用TicketDetails对象的属性进行映射。 为了更好地理解,我正在编写下面的普通java代码示例。
SourceClassModel sourceClassModel = new SourceClassModel();
TargetClassModel targetClassModel = new TargetClassModel();
//mapping
TicketDetails ticketDetails = (TicketDetails) sourceClassModel.getInput();
targetClassModel.setMyTicket(ticketDetails.getMyTicket);
现在,我的问题是,如何使用 MapStruct 来实现这种情况?
答案 0 :(得分:2)
在已使用的映射器(请参阅@Mapper#uses()
)或映射器本身的非抽象方法中 - 如果它是抽象类而不是接口 - 定义从Object
到TicketDetails
的映射TicketDetails asTicketDetails(Object details) {
return (TicketDetails) details;
}
你自己:
SourceClassModel
生成的TargetClassModel
转换为myTicket
的方法将调用该手动编写的转换{{1}}属性的方法。