728x90
@JsonInclude(JsonInclude.Include.NON_NULL)은 Jackson 라이브러리에서 사용되는 어노테이션으로, JSON 직렬화 시에 특정 속성의 값이 null인 경우 해당 속성을 생성하지 않도록 지시합니다.
구체적으로 말하면, JsonInclude.Include.NON_NULL은 Jackson이 객체를 JSON으로 변환할 때, 해당 객체의 속성 중 값이 null인 속성들을 제외하고 JSON에 포함하도록 지정합니다. 이렇게 함으로써 생성된 JSON이 불필요한 null 값을 가지지 않게 되며, 일부 상황에서 JSON을 더 간결하게 만들 수 있습니다.
예를 들어, 다음과 같은 Java 클래스가 있다고 가정해봅시다:
public class Person {
private String name;
private Integer age;
// 생성자, getter, setter 등 생략
}
만약 이 클래스의 인스턴스를 JSON으로 직렬화하고자 할 때, @JsonInclude(JsonInclude.Include.NON_NULL) 어노테이션을 클래스 수준에 추가하면, age가 null인 경우 해당 속성은 JSON에 포함되지 않습니다.
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Person {
private String name;
private Integer age;
// 생성자, getter, setter 등 생략
}
이를 통해 생성된 JSON은 age가 null이 아닌 경우에만 해당 속성이 포함됩니다.
'공부 > Spring' 카테고리의 다른 글
@Transactional (0) | 2024.06.01 |
---|---|
@Slf4j - Log Level (0) | 2024.01.20 |
[Spring] 빈 스코프 - 웹 스코프 (2) | 2024.01.09 |
[Spring] 빈 스코프 - 프로토타입 스코프(싱글톤 빈과 함께 사용시 Provider로 문제 해결) (1) | 2024.01.08 |
[Spring] 빈 스코프 - 프로토타입 스코프와 싱글톤 빈과 함께 사용시 문제점 (0) | 2024.01.02 |