ホームページ  >  記事  >  Java  >  Spring MVCでJSONを送信するときにJavaオブジェクトからフィールドを除外する方法は?

Spring MVCでJSONを送信するときにJavaオブジェクトからフィールドを除外する方法は?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-26 00:49:02479ブラウズ

How to Exclude Fields from Java Objects When Sending JSON in Spring MVC?

Spring MVC から JSON を送信するときに Java オブジェクトのフィールドを無視する

Spring MVC アプリケーションでは、Java オブジェクトを次のように送信するときに、Java オブジェクトから特定のフィールドを選択的に除外することが望ましいことがよくあります。 JSON 応答。これにより、必要な情報のみがクライアントと共有され、データのプライバシーが強化され、帯域幅の消費が削減されます。

問題ステートメント

提供されたコードでは、User モデル クラスに createdBy、updatedBy、そして暗号化されたPwd。ただし、要件は、JSON 応答の送信中にこれらのフィールドを動的に無視することです。

解決策

注釈を使用してフィールドを動的に除外するには、次の 2 つの方法があります。

1 。 @JsonIgnoreProperties("fieldname") の使用:

User クラスに @JsonIgnoreProperties("fieldname") の注釈を付け、除外するフィールドを指定します。例:

<code class="java">@JsonIgnoreProperties(value = {"createdBy", "updatedBy", "encryptedPwd"})
public class User {
    // ... (Class definition remains the same)
}</code>

2.個々のフィールドで @JsonIgnore を使用する:

フィールド宣言の前に特定のフィールドに @JsonIgnore アノテーションを付けます。例:

<code class="java">public class User {
    private Integer userId;
    private String userName;
    
    @JsonIgnore
    private String encryptedPwd;
    
    // ... (Other fields remain the same)
}</code>

注: @JsonIgnore は、どのフィールドを除外するかをより詳細に制御できるため、推奨されるアプローチです。

GitHub の例

実際の実装については、次の GitHub の例を参照してください: https://github.com/FasterXML/jackson-databind/issues/1416

以上がSpring MVCでJSONを送信するときにJavaオブジェクトからフィールドを除外する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。