簡體   English   中英

如何將 Jackson PropertyNamingStrategy 與 Immutables 庫一起使用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM