제어된 직렬화 및 역직렬화를 위한 JsonIgnore 주석
사용자 개체의 민감한 데이터를 처리할 때 직렬화 중에 해당 데이터가 노출되지 않도록 방지하는 것이 중요합니다. @JsonIgnore 주석은 이러한 목적으로 사용되지만 역직렬화를 실수로 차단할 수 있습니다.
@JsonIgnore의 역직렬화 문제
이 시나리오에서 비밀번호 속성의 @JsonIgnore 주석은 역직렬화를 방지합니다. 클라이언트에 대한 직렬화입니다. 그러나 이는 또한 속성이 올바른 비밀번호로 역직렬화되는 것을 차단하므로 가입이 어려워집니다.
선택적 무지에 대한 솔루션
Jackson 버전에 따라 두 가지 접근 방식이 가능합니다. 사용 가능:
이전의 Jackson 버전 1.9:
Jackson 버전 1.9 및 위:
샘플 코드:
인 Java:
@JsonIgnore(serialize = true, deserialize = false) private String password; @JsonProperty("password") private void setPassword(String password) { this.password = password; }
이 접근 방식을 사용하면 직렬화 중에만 @JsonIgnore를 적용할 수 있으므로 비밀번호가 의도치 않게 노출되지 않도록 보호하면서 올바르게 역직렬화할 수 있습니다.
위 내용은 역직렬화를 차단하지 않고 @JsonIgnore를 사용하여 직렬화를 제어하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!