2016-11-04 6 views
1

私は自分のエンティティにUnwrappingBeanSerializerを書きました。現在、このシリアライザはConfigureJacksonObjectMapperを使用して登録されていますspring-data-restと私の@RestControllerクラスのための単一のobjectMapperを書く方法

このシリアライザは、spring-data-restから生成されたREST APIで正常に動作しています。しかし、私は同じエンティティのためにカスタム@RestControllerを持っていますが、spring-data-rest設定で登録されたシリアライザについてはわかりません。

UnwrappingBeanSerializerで私の応答をspring-data-rest APIとカスタムコントローラの両方でシリアル化したいとします。

これを行うには?

また、私のエンティティクラスで@JsonSerializeと試してみました。しかし、unWrappingBeanSerializerのBeanを作成することができません。BeanSerializerBase

答えて

1

普通の@RestControllerSpring Data RESTコントローラのフローと構成が異なります。 Spring Data RESTを使用している場合は、同じリソースのカスタムエンドポイントに@RepositoryRestControllerを使用することをお勧めします。これはConfigureJacksonObjectMapperで使用したものと同じSpring Data RESTチェーンとその設定を使用します。そうでない場合はObjectMapperSpring Data RESTにのみ表示されます。

あなたは@RestControllerを持っており、両方に同じObjectMapperを使用したい場合 - あなたは二つの構成持っている必要があります。例えば(Spring Data RESTのための1つの(あなたがすでに持っているように)と、通常のコントローラの他に、これだけSpringコンテキストに登録Spring MVCを使用している場合は、Customize the Jackson ObjectMapperを参照してください)。

関連する問題