@JsonIgnore의 선택적 적용: 직렬화 전용 제외 처리
서버와 데이터를 교환하는 동안 사용자 개체에는 다음과 같은 민감한 정보가 포함될 수 있습니다. 직렬화 중에는 클라이언트로부터 숨겨야 합니다. 자주 사용되는 접근 방식은 민감한 속성을 숨기기 위해 @JsonIgnore 주석을 적용하는 것입니다. 그러나 이는 역직렬화를 방해하여 특정 시나리오에서 문제를 일으킬 수도 있습니다.
문제 이해
속성에 @JsonIgnore 주석을 사용하면 JSON 직렬화에 포함되지 않습니다. 그러나 역직렬화 중에(예: 사용자 계정 생성) 동일한 속성이 필요한 경우 제외가 문제가 됩니다.
@JsonIgnore를 사용한 선택적 제외
해결 방법 이 문제는 Jackson 버전에 따라 두 가지 다른 접근 방식을 취할 수 있습니다. 사용됨:
1.9 이전의 Jackson 버전:
Jackson 버전 1.9 이상:
예:
비밀번호가 있는 사용자 개체를 고려하세요. field:
@JsonIgnore private String password; // Setter with READ_ONLY access (Jackson 1.9 and later) @JsonProperty(access = JsonProperty.Access.READ_ONLY) public void setPassword(String password) { this.password = password; }
참고:
위 내용은 역직렬화에 영향을 주지 않고 JSON 직렬화에서 필드를 선택적으로 제외하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!