JsonInclude, DTO null 필드 생략

개발새발·2023년 1월 1일
0

spring

목록 보기
10/26

요새 회사 일때문에 한동안 정신이 없었다. 왠지 이번년도내내 이럴 것 같은데.. 화이팅해야지 🥲 이번에 spring으로 개발해볼 일이 생겼다. 해보고 싶긴했는데, 막상 해보니 역시 어렵다 ㅠㅠ

🥳 내가 원한 것

spring은 DTO 를 주로 사용하는데, 그를 통해 response 로 리턴해주기도 한다. 그런데 null이나 빈값(””) 일때도 그 값을 리턴해준다.

예를 들어, 아래와 같은 식이라면

@Data
public class Person {
    private String firstName;
    private String lastName;
    private String phoneNumber;
}
Person person = new Person("popo","jung");

실제로 이걸 return 해줘서 보면 이런 식이 된다.

{
  "firstName" : "popo",
  "lastName" : "jung",
  "phoneNumber" : null
}

근데 내가 원했던 모양은, null인 필드는 노출하지 않는 것이였다.


🌲 해결방법

그래서 찾은 게, 바로 JsonInclude 라는 어노테이션이다.

@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Person {
    private String firstName;
    private String lastName;
    private String phoneNumber;
}
Person person = new Person("popo","jung");

위처럼 해주게 되면 아래와 같은 결과로 나온다. 굿! 👍

profile
발새발개

0개의 댓글