2017-02-27 5 views
1

私はサービスレイヤー内でSpring MVCまたは内部オブジェクトマッパーのいずれかによって逆シリアル化されたドメインオブジェクトを持っています。私は1つのフィールドの入力を、Spring MVCを介して逆シリアル化しているときには無視する必要がありますが、サービスレイヤの内部オブジェクトマッパーでは無視しなければなりません。それは可能ですか?オブジェクトマッパーレベルでプロパティを無視しますか?

ヒント/ヒントは非常に高く評価されています。

+0

「@ JsonIgnore」を使用できない理由は何ですか? –

+0

実際には、逆シリアル化のどのパスがトリガーされたかを知る必要がある別の状況があります。それはできますか? – gigi2

+0

例を投稿できますか? –

答えて

2

Mixin注釈(documentation here)を使用して行うことができます。あなたは例えば、あなたの内部objectMapper@JsonIgnoreフィールドで別のクラスを作成して設定することができます。:

abstract class MixIn { 
    @JsonIgnore int getXXX(); 
} 

objectMapper.getSerializationConfig().addMixInAnnotations(Model.class, MixIn.class)

これをサービスレイヤーobjectMapperで構成することができます。これは外部objectMapperがそのフィールドを引き続きシリアル化/デシリアライズできることを意味します。

+0

に感謝します。それは魅力として働く! – gigi2

+0

あなたが助けてくれたら、答えを受け入れたものとしてマークしてください。 –

関連する問題