通过JsonProperty注释与MapStruct进行字段映射



在我当前的项目中,模型类字段的名称是德语。所有字段都用@JsonProperty注释,用于名称的英文翻译。例:@JsonProperty(value = "operation")。在配置中是否有一种方法,即字段的映射是使用JsonProperty注释完成的?

的例子:

public class Auftrag {
@JsonProperty(value = "orderType")
private String auftragsart;
...
}
public class OrderDto {

private String orderType;
}

MapStruct使用Java Bean约定来检测属性。这意味着它在getter和setter中查找。

开箱即用不能使用@JsonProperty。但是,您可以创建自己的AccessorNamingStrategy,它将提供基于@JsonProperty的属性。AccessorNamingStrategy允许您访问抽象语法树,这意味着您可以在类型中查找字段,检查它们的注释和值。

请记住,MapStruct将只要求获取方法的属性,因此您需要获取属性名称,然后找到类型中的字段,然后查找@JsonProperty注释及其值。

您可以在文档中阅读更多关于AccessorNamingStrategy的信息。

相关内容

  • 没有找到相关文章

最新更新