>  기사  >  Java  >  Spring MVC에서 JSON을 보낼 때 Java 객체에서 필드를 제외하는 방법은 무엇입니까?

Spring MVC에서 JSON을 보낼 때 Java 객체에서 필드를 제외하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-26 00:49:02479검색

How to Exclude Fields from Java Objects When Sending JSON in Spring MVC?

Spring MVC에서 JSON을 보낼 때 Java 개체의 필드 무시

Spring MVC 애플리케이션에서는 JSON을 다음과 같이 보낼 때 Java 개체에서 특정 필드를 선택적으로 제외하는 것이 바람직한 경우가 많습니다. JSON 응답. 이렇게 하면 필요한 정보만 클라이언트와 공유되어 데이터 개인정보 보호가 강화되고 대역폭 소비가 줄어듭니다.

문제 설명

제공된 코드에서 User 모델 클래스에는 CreateBy, updateBy, 암호화된Pwd. 그러나 요구 사항은 JSON 응답을 보내는 동안 이러한 필드를 동적으로 무시하는 것입니다.

해결책

주석을 사용하여 필드를 동적으로 제외하는 두 가지 방법이 있습니다.

1 . @JsonIgnoreProperties("fieldname") 사용:

사용자 클래스에 @JsonIgnoreProperties("fieldname") 주석을 달아 제외해야 하는 필드를 지정합니다. 예:

<code class="java">@JsonIgnoreProperties(value = {"createdBy", "updatedBy", "encryptedPwd"})
public class User {
    // ... (Class definition remains the same)
}</code>

2. 개별 필드에 @JsonIgnore 사용:

필드 선언 앞에 특정 필드에 @JsonIgnore 주석을 추가합니다. 예:

<code class="java">public class User {
    private Integer userId;
    private String userName;
    
    @JsonIgnore
    private String encryptedPwd;
    
    // ... (Other fields remain the same)
}</code>

참고: @JsonIgnore는 제외되는 필드를 보다 세부적으로 제어할 수 있으므로 권장되는 접근 방식입니다.

GitHub 예

실제 구현을 위해서는 다음 GitHub 예제를 참조하세요: https://github.com/FasterXML/jackson-databind/issues/1416

위 내용은 Spring MVC에서 JSON을 보낼 때 Java 객체에서 필드를 제외하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.