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 |
댓글