【发布时间】:2020-06-05 09:06:45
【问题描述】:
我们在我们的项目中使用 mapstruct 。虽然它对于域对象的 dto 非常有效(例如 EmployeeDTO 到具有类似属性的 EmployeeData) - 我们需要处理传入的 json string 。我们正在尝试编写一个非常通用的映射器,将传入的 json 字符串映射到 java 对象。
假设我们有这样的 EmployeeDTO
{ id: 1,name="xxx"} 但它以字符串的形式出现,因此我有一个 mapstruct 映射器
@Mapper
EmployerMapper()
{
EmployeeData toEmployeeFromJsonString( String empString} ;// where empString is a jsonString
}
它无法正常工作,我没有从 json 字符串中获得使用正确属性创建的适当对象(我也尝试使用 jsonobject,但这也不起作用)
我们不能有特定的 DTO 的原因是因为我们希望 Employee 微服务和其他微服务之间有一个松散的耦合(有少数) mapstruct 没有创建适当的 getter 和 setter,并且 DTO 中可能有更多我们在此微服务中不关心的属性。 1、mapstruct中是否直接支持json对象? 2. 如果我通过 GSON 支持来增强它,我如何将它与 mapstruct 集成,这样我的产品中只有一种映射方式。
【问题讨论】: