[英]How to use Jackson PropertyNamingStrategy with Immutables library
我正在與 Jackson 一起使用https://immutables.github.io/庫。 我希望我的班級是 Jackson 可序列化的。 我想使用自定義PropertyNamingStrategy
(使用mapper.setPropertyNamingStrategy(PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES);
為com.fasterxml.jackson.databind.ObjectMapper
配置mapper.setPropertyNamingStrategy(PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES);
不幸的是,Immutables 庫將@JsonProperty("propertyName")
放在生成代碼的每個字段中。 這會覆蓋在映射器級別(或在類級別,使用@com.fasterxml.jackson.databind.annotation.JsonNaming
注釋)定義的 PropertyNamingStrategy。
是否可以讓 Immutables 庫停止為每個字段放置屬性名稱(使用org.immutables.value.Value.Style
或類似方法)?
我提出了解決方法,將@JsonProperty(沒有價值)放在每個屬性上,但我對此並不滿意。
樣式屬性forceJacksonPropertyNames=false
不會將屬性名稱強制為特定字符串。 它適用於在類級別和映射器級別配置的命名策略。
樣式介紹可在此處獲得: http : //immutables.github.io/style.html
您可以在問題中閱讀有關此設置的一些背景信息: https : //github.com/immutables/immutables/issues/431 https://github.com/immutables/immutables/issues/353
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.