본문 바로가기
IT/Spring

response null 인경우 생략

by 봉즙 2023. 2. 28.

1. DTO 마다 직접 적용 하는 경우

원하는 property 에 @JsonInclude(JsonInclude.Include.NON_NULL) 를 적용한다.
만약 @JsonInclude(JsonInclude.Include.NON_EMPTY) 를 적용하면 빈 문자열도 생략한다.

import com.fasterxml.jackson.annotation.JsonInclude;

import java.io.Serializable;

@Getter
@Setter
public class Demo implements Serializable {
    private Long id;
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String name;
}

2. 전역 설정 하는 경우

직접 Bean 으로 등록하여 사용한다.
JsonInclude.Include.NON_NULL 대신 JsonInclude.Include.NON_EMPTY 를 적용하면 빈 문자열도 생략한다.

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

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

3. yaml 설정을 사용하는 경우

yaml 설정을 사용하는 경우에는 다음과 같이 설정한다.

spring:
  jackson:
    default-property-inclusion: non_null

'IT > Spring' 카테고리의 다른 글

Base64Utils Deprecated  (0) 2023.02.28
static 으로 Bean 주입  (0) 2023.02.28
bucket4j  (3) 2023.02.28
2023-01-18-aop 사용한 로깅  (0) 2023.02.28
spring batch 5.0  (0) 2023.02.28

댓글