민감하거나 관련 없는 데이터를 JSON 응답에서 제외해야 하는 시나리오에서 Spring MVC는 무시할 수 있는 유연한 메커니즘을 제공합니다.
@JsonIgnoreProperties 주석을 사용하면 JSON으로 직렬화되지 않도록 특정 필드를 제외할 수 있습니다. POJO에 적용하면 필드 이름 목록을 인수로 사용하고 JSON 표현에서 해당 필드를 생략합니다. 예를 들어, 질문에 설명된 사용자 개체에서 CreateBy 및 updateBy 필드를 제외하려는 경우:
@Entity @Table(name = "user") @JsonIgnoreProperties(ignoreUnknown = true, value = {"createdBy", "updatedBy"}) public class User { // Class variables and methods }
이 주석을 사용하면 JSON 응답에는 value 매개 변수에 명시적으로 지정된 필드만 포함됩니다. 즉, userId, userName 및 emailId입니다.
또 다른 옵션은 개별 필드에 @JsonIgnore 주석을 사용하는 것입니다. 이 주석은 직렬화 및 역직렬화 중에 필드가 무시되어야 함을 나타냅니다. 제외된 필드 목록이 동적이고 런타임 조건에 따라 변경될 수 있는 경우 유용합니다. 예를 들어, cryptoPwd 필드를 동적으로 제외하려는 경우:
@Entity @Table(name = "user") @JsonIgnoreProperties(ignoreUnknown = true) public class User { // Other class variables and methods @JsonIgnore private String encryptedPwd; }
cryptedPwd 필드에 @JsonIgnore를 설정하면 해당 필드가 get 메서드에 포함되어 있어도 JSON 직렬화에서 제외됩니다. POJO.
이러한 기술의 실제 구현은 다음 GitHub 저장소에서 찾을 수 있습니다: https://github.com/spring-projects/spring-framework/tree/main/ spring-webmvc/src/test/java/org/springframework/web/servlet/config/annotation/WebMvcAnnotationConfigTests.
위 내용은 Spring MVC의 JSON 직렬화에서 필드를 동적으로 제외하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!