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.
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.
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>
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>
Remarque : @JsonIgnore est l'approche recommandée car elle offre un contrôle plus granulaire sur les champs à exclure.
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!