회사에서 RestApi를 통한 프로그램 개발 중에
DTO에서 @JsonInclude(JsonInclude.Include.NON_NULL) 라는 것을 발견하였다.
사실 그 전에도 종종 보던 녀석이었지만, 바빠서 흐린눈 하며 넘기기 바빴는데
이젠 이런걸 모르는척 하며 지나가면 안되겠다는 생각이 들어 열심히 검색해보았다.
정체는 사실 간단하다.
null인 데이터는 응답 시 노출시켜주지 않는 녀석이다.




json 데이터가 아래와 같이 응답이 온다고 가정해보자.

"data": [
        {
            "depth2": "K240252000002",
            "depth2Nm": "다항식의 연산",
            "depth3": null,
            "depth3Nm": null,
            "depth4": null
        },
]

값이 있는 데이터들은 자동으로 값이 들어간 채로 나오겠지만,
null인 녀석들은 null인 상태로 나오게 된다.
처음에는 별 거 아닌 것 같아보여도,
받을 변수들이 많고, null이 많다면 나중에 가독성에 문제가 생긴다.



그럴때 ‘@JsonInclude(JsonInclude.Include.NON_NULL)’ 를 사용해준다면,
아래와 같이 깔끔한 상태로 나오게 된다.

"data": [
        {
            "depth2": "K240252000002",
            "depth2Nm": "다항식의 연산"
        },
]

이렇게 null값인 필드는 제외된 상태로 응답을 받을 수 있다.




모르는 것들을 만날 때마다 새로 배워야 한다는 것을 알지만,
바쁜 현실에 부딪혀 모르는 척 할 때가 참 많다.
그렇지만 하나씩 바쁘다는 핑계로 넘겨버리다 보면 나는 새로운 것을 익히게 될 기회를 놓치고
이것은 결국 나에게 좋지 않은 영향을 끼칠 것이다.
바쁘더라도 무엇이든 배우겠다는 마음을 잊지 않고 꾸준히 기록해 나가도록 하자.
(사실 새로 익히더라도 이렇게 정리하는 것도 참 귀찮았던 것이 사실이다…ㅠ 반성하자… 기록이 살 길이다..)

태그: ,

카테고리:

업데이트: