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 の例を参照してください: https://github.com/FasterXML/jackson-databind/issues/1416
以上がSpring MVCでJSONを送信するときにJavaオブジェクトからフィールドを除外する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。