@JsonProperty アノテーション付きプロパティのみをシリアル化するように Spring の ObjectMapper をカスタマイズする方法
Spring での ObjectMapper の構成
Spring アプリケーションでは、ObjectMapper は JSON データをシリアル化および逆シリアル化するための重要なコンポーネントです。 @JsonProperty アノテーションが付けられたプロパティのみをシリアル化するなど、特定の要件を満たすように ObjectMapper をカスタマイズできます。
これを実現するには、最初のステップとして、Jackson が提供する基本 ObjectMapper クラスを拡張するカスタム ObjectMapper クラスを作成します。デフォルトの可視性チェッカーをオーバーライドして、アノテーションのないプロパティを除外します:
public class MyCustomObjectMapper extends ObjectMapper { public MyCustomObjectMapper() { super(); setVisibilityChecker(getSerializationConfig() .getDefaultVisibilityChecker() .withCreatorVisibility(JsonAutoDetect.Visibility.NONE) .withFieldVisibility(JsonAutoDetect.Visibility.NONE) .withGetterVisibility(JsonAutoDetect.Visibility.NONE) .withIsGetterVisibility(JsonAutoDetect.Visibility.NONE) .withSetterVisibility(JsonAutoDetect.Visibility.DEFAULT)); } }
次に、カスタム ObjectMapper Bean を Spring 構成ファイル (servlet.xml) に登録します:
<bean>
最後に、カスタムを使用するようにアノテーション駆動型 MVC フレームワークを構成します。 ObjectMapper:
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"> <property name="objectMapper" ref="customObjectMapper" /> </bean> </list> </property> </bean>
提供されているサンプル コードでは、NumbersOfNewEvents クラスに 2 つのパブリック属性が含まれています:
public class NumbersOfNewEvents implements StatusAttribute { public Integer newAccepts; public Integer openRequests; // ... }
ただし、@JsonProperty:
@JsonProperty public Integer newAccepts;
以上が@JsonProperty アノテーション付きプロパティのみをシリアル化するように Spring の ObjectMapper をカスタマイズする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











2025年のトップ4 JavaScriptフレームワーク:React、Angular、Vue、Svelte

カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか?

Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか?

Spring Boot Snakeyaml 2.0 CVE-2022-1471問題修正

キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPA(Java Persistence API)を使用するにはどうすればよいですか?

高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか?
