1

我是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来实现这种情况?

4

1 回答 1

2

在使用过的映射器(请参阅 参考资料@Mapper#uses())或映射器本身的非抽象方法中——如果它是抽象类而不是接口——定义从Object到您TicketDetails自己的映射:

TicketDetails asTicketDetails(Object details) {
    return (TicketDetails) details;
}

生成的SourceClassModelto转换方法TargetClassModel将调用手动编写的方法来转换myTicket属性。

于 2015-11-30T22:52:51.573 回答