Dans les scénarios où des données sensibles ou non pertinentes doivent être exclues des réponses JSON, Spring MVC fournit un mécanisme flexible pour ignorer champs spécifiques pendant le processus de sérialisation.
L'annotation @JsonIgnoreProperties vous permet d'exclure des champs spécifiques de la sérialisation dans JSON. Appliqué à un POJO, il prend une liste de noms de champs comme arguments, en omettant ces champs de la représentation JSON. Par exemple, si vous souhaitez exclure les champs CreateBy et UpdatedBy de l'objet User décrit dans la question :
@Entity @Table(name = "user") @JsonIgnoreProperties(ignoreUnknown = true, value = {"createdBy", "updatedBy"}) public class User { // Class variables and methods }
Avec cette annotation, la réponse JSON n'inclura que les champs explicitement spécifiés dans le paramètre value, à savoir userId, userName et emailId.
Une autre option consiste à utiliser l'annotation @JsonIgnore sur des champs individuels. Cette annotation indique que le champ doit être ignoré lors de la sérialisation et de la désérialisation. Ceci est utile lorsque la liste des champs exclus est dynamique et peut changer en fonction des conditions d'exécution. Par exemple, si vous souhaitez exclure dynamiquement le champ encryptéPwd :
@Entity @Table(name = "user") @JsonIgnoreProperties(ignoreUnknown = true) public class User { // Other class variables and methods @JsonIgnore private String encryptedPwd; }
En définissant @JsonIgnore sur le champ encryptéPwd, il sera exclu de la sérialisation JSON même s'il est inclus dans la méthode get du POJO.
Une implémentation pratique de ces techniques peut être trouvée dans ce référentiel GitHub : https://github.com/spring-projects/spring-framework/tree/main/ spring-webmvc/src/test/java/org/springframework/web/servlet/config/annotation/WebMvcAnnotationConfigTests.
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!