JavaSpring:使用方法而不是属性自动进行EntityToToToMap

pxq42qpu  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(234)

在 Spring ,实体和DTO之间有一个很好的自动转换:

@Mapping(source = "senderId", target = "senderId")
@Mapping(source = "text", target = "text")
MessageGetDTO convertEntityToMessageGetDTO(Message message);

在这里,我们将消息实体的服务器内部表示转换为将发送到客户机的相应dto。
现在假设我们希望dto具有与实体不同的(相关的)数据:我们不希望向客户机显示发送者的id,而是希望将发送者的名称作为字符串发送。
消息实体没有发件人的名称,但是一个简单的方法可以使用senderid从数据库中获取该名称。
所以我的问题是:如何让这些自动Map中的一个使用方法而不是属性?

@Mapping(source = "getSenderName()", target = "senderName")
                         ^
g9icjywg

g9icjywg1#

我想你在找表情。
它将是: @Mapping( target = "senderName", expression = "java(getSenderName())" ) 更多帮助:https://www.tutorialspoint.com/mapstruct/mapstruct_using_expression.htm

相关问题