@JsonIgnore를 사용한 JSON 직렬화 및 역직렬화 제어
Spring JSONView 애플리케이션에서는 속성이 직렬화 및 역직렬화되는 방식을 사용자 정의하는 것이 어려울 수 있습니다. 일반적인 시나리오는 직렬화 중에 해시된 비밀번호와 같은 민감한 데이터를 제외하면서도 역직렬화할 수 있는 경우입니다.
이를 달성하기 위해 비밀번호 속성에 @JsonIgnore 주석을 사용합니다. 그러나 이렇게 하면 속성이 역직렬화되는 것을 방지하여 기존 비밀번호가 없는 경우 사용자 등록이 어려워질 수 있습니다.
해결책은 사용되는 Jackson 버전에 따라 다릅니다. 1.9 이전에는 getter 메소드에서만 @JsonIgnore를 사용할 수 있었습니다. 최신 버전의 경우 다음 주석을 추가합니다.
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY): setter 메서드의 이 주석은 직렬화를 허용하지만 역직렬화는 차단합니다.
또는 @JsonProperty의 READ_ONLY 액세스 유형 인수를 사용하여 이 작업도 수행할 수 있습니다.
@JsonProperty(access = JsonProperty.Access.READ_ONLY) private String password;
이러한 주석은 비밀번호 속성이 JSON 변환 중에만 직렬화되지만 객체 생성 중에는 역직렬화될 수 있도록 보장합니다.
이러한 기술을 따르면 민감한 속성의 JSON 직렬화 및 역직렬화를 선택적으로 제어하여 웹 애플리케이션에 유연성과 보안을 제공할 수 있습니다.
위 내용은 Spring JSONView에서 민감한 데이터의 JSON 직렬화 및 역직렬화를 어떻게 제어할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!