Maison > Java > javaDidacticiel > Comment exclure des champs des objets Java lors de l'envoi de JSON dans Spring MVC ?

Comment exclure des champs des objets Java lors de l'envoi de JSON dans Spring MVC ?

Barbara Streisand
Libérer: 2024-10-26 00:49:02
original
603 Les gens l'ont consulté

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

Ignorer les champs des objets Java lors de l'envoi de JSON depuis Spring MVC

Dans les applications Spring MVC, il est souvent souhaitable d'exclure sélectivement certains champs des objets Java lors de leur envoi en tant que Réponses JSON. Cela garantit que seules les informations nécessaires sont partagées avec les clients, améliorant ainsi la confidentialité des données et réduisant la consommation de bande passante.

Énoncé du problème

Dans le code fourni, la classe de modèle User comporte des champs pour createBy, updateBy, et chiffréPwd. Cependant, l'exigence est d'ignorer dynamiquement ces champs lors de l'envoi de la réponse JSON.

Solution

Il existe deux manières d'exclure dynamiquement des champs à l'aide d'annotations :

1 . Utilisation de @JsonIgnoreProperties("fieldname") :

Annotez la classe User avec @JsonIgnoreProperties("fieldname"), en spécifiant les champs qui doivent être exclus. Par exemple :

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

2. Utilisation de @JsonIgnore sur des champs individuels :

Annotez des champs spécifiques avec @JsonIgnore avant la déclaration du champ. Par exemple :

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

Remarque : @JsonIgnore est l'approche recommandée car elle offre un contrôle plus granulaire sur les champs à exclure.

Exemple GitHub

Pour une implémentation pratique, reportez-vous à l'exemple GitHub suivant : https://github.com/FasterXML/jackson-databind/issues/1416

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal