我正在与Jackson一起使用https://immutables.github.io/库。
我希望我的课程能够成为杰克逊 - 可序列化的。我想使用自定义PropertyNamingStrategy
(使用com.fasterxml.jackson.databind.ObjectMapper
mapper.setPropertyNamingStrategy(PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES);
配置
不幸的是,Immutables库将@JsonProperty("propertyName")
放在生成代码中的每个字段中。这将覆盖在mapper级别定义的PropertyNamingStrategy(或在类级别,使用@com.fasterxml.jackson.databind.annotation.JsonNaming
注释)。
是否可以使Immutables库停止为每个字段添加属性名称(使用org.immutables.value.Value.Style
或类似方法)?
我已经采用了解决方法,将@JsonProperty(没有值)放在每个属性上,但我对此并不满意。
答案 0 :(得分:1)
样式属性forceJacksonPropertyNames=false
不强制将属性名称强制转换为特定字符串。它适用于在类级别和映射器级别配置的命名策略。
样式简介可在此处找到:http://immutables.github.io/style.html
您可以在问题中阅读有关此设置的一些背景信息:https://github.com/immutables/immutables/issues/431 https://github.com/immutables/immutables/issues/353