Jackson でhttps://immutables.github.io/ライブラリを使用しています。クラスをジャクソンでシリアライズ可能にしたい。カスタムPropertyNamingStrategy
(使用するように構成された)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 をオーバーライドします。
不変ライブラリがすべてのフィールドにプロパティ名を入れないようにすることは可能ですか (org.immutables.value.Value.Style
または同様の手段を使用して)?
@JsonProperty (値なし) をすべてのプロパティに配置するという回避策が用意されていますが、これには満足していません。