Jackson, null 필드 무시하기

백단에서 데이터를 프론트 단에 넘길 때, 객체에 대한 property값이 널인 경우까지 넘어 간다.

예제 코드

public class Account {
    private String name;
    private int age;
}
public void create_account_null_test(){
    Account account = new Account();
    account.setName(null);
    account.setAge(32);

    System.out.println(objectMapper.writeValueAsString(account));
}

다음과 같이 null 값의 해당하는 name 프로퍼티가 결과로 나온다.

{"name":null,"age":32}

1. 지역적으로 처리

@JsonInclude(JsonInclude.Include.NON_NULL)
public class Account {

    //@JsonInclude(JsonInclude.Include.NON_NULL) //클래스 또는 해당 프로퍼티에 붙여준다.
    private String name;
    private int age;
}

2. 전역적으로 설정하는 방법

@Configuration
public class JacksonConfiguration {

    @Bean
    public ObjectMapper objectMapper() {
        ObjectMapper objectMapper = new ObjectMapper();
        objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
        return objectMapper;
    }
}

Ref

연관 포스트