2017-02-10 1 views
1

私はAbstractEndpoints由来のエンドポイントに(代わりに他のマップされたURLに使用されるものの)異なるジャクソンObjectMapperインスタンスを使用します。質問を明確にする使用するカスタム・ジャクソンマッパー

、私はAbstractEndpoints(のようなHealtEndpointMetricsEndpoint)に由来するものとは異なるURLで使用されるオブジェクトマッパーを変更したり、カスタマイズする必要はありません。私は、管理エンドポイントに新しいオブジェクトマッパーを特に注入したいと思っています。

+0

カスタム '@ Bean'を定義することはできませんか? https://docs.spring.io/spring-boot/docs/current/reference/html/howto-spring-mvc.html#howto-customize-the-jackson-objectmapperを参照してください。 – aha

+0

ようこそスタックオーバーフロー! [ツアー](http://stackoverflow.com/tour)を見て回り、[ヘルプセンター](http://stackoverflow.com/help)、特に[どのように私に質問しますか良い質問?](http://stackoverflow.com/help/how-to-ask)と[ここで私はどのような話題を聞くことができますか?](http://stackoverflow.com/help/on-topic)。 –

答えて

1

デフォルトのObjectMapperを完全に置き換える場合は、そのタイプの@Beanを定義して@Primaryとしてマークするか、Builderベースのアプローチを希望する場合はJackson2ObjectMapperBuilder @Beanを定義します。どちらの場合でも、これは `ObjectMapperの自動設定をすべて無効にします。

タイプMappingJackson2HttpMessageConverterの@Beansを指定すると、MVC設定のデフォルト値が置き換えられます。また、HttpMessageConverters(デフォルトのMVC構成を使用する場合は常に使用可能)のタイプの便利なBeanが用意されています。このBeanは、デフォルトおよびユーザー拡張メッセージコンバータにアクセスするいくつかの便利なメソッドを備えています。

あなたはマニュアルに完全なトピックを読むことができます:春ブーツ1.5のよう73.3ジャクソンObjectMapperをカスタマイズ

https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#howto-customize-the-jackson-objectmapper

+0

残念ながら私の問題は解決しません。私は私の質問でいくつかの追加情報を追加したので、私はAbstractEndpointsから派生した管理エンドポイントを使用するための別のオブジェクトマッパーBeanが必要です。 – cenkakin

0

をあなたはObjectMapper JMXエンドポイントが邪魔に使用しますがされていないカスタマイズすることができますあなたは欲しい。たとえば、constructor of EndpointMBeanのように、ObjectMapperが引数として取られますが、qualifiersはありません。したがって、自動的にデフォルトのObjectMapperが使用されます。元のソースを変更したり独自のエンドポイントをローリングしたり、必要な修飾子を追加したりすること以外は何もできません。

Springブートによって提供されるデフォルトのエンドポイントを使用する場合は、必要に応じてデフォルトのObjectMapperをカスタマイズし、元の設定と一致する2番目のインスタンスを作成し、2番目のObjectMapperを独自のコードで使用する修飾子を追加します。 customization options for Jackson's ObjectMapper are described in the Spring Boot docsおよびHow to customise the Jackson JSON mapper implicitly used by Spring Boot?にも記載されている。

関連する問題