간단히, Jackson 라이브러리는 자바 객체를 JSON 형태로 직렬화하거나, JSON을 자바 객체로 역직렬화하는 과정에서 사용된다.
@JsonIgnore는 필드, 멤버 변수 같은 클래스 수준에 사용되며 주로 Jackson 라이브러리와 연계하여 사용된다.
@JsonIgnore를 사용하면 Jackson 라이브러리의 직렬화나 역직렬화 과정에서 특정 필드가 무시되도록 설정할 수 있다.
여기서 특정 필드가 무시되도록 설정한다는 말은 데이터를 담고 있는 변수. 즉, 객체의 특정 속성이 데이터의 변환 과정에서 제어되어야 한다는 것을 지시한단 걸 의미한다.
또, 여기서 데이터 변환 과정이란, 객체를 다른 형태로 변환하는 작업을 말한다.
특히 @JsonIgnore의 경우에는 객체를 JSON 형식의 문자열로 변환하는 직렬화 과정, JSON 문자열을 객체로 변환하는 역직렬화 과정에서 해당 필드를 무시한다.
그러므로 결론적으로는 스프링이 객체를 JSON으로 바꿔 줄 경우, @JsonIgnore가 붙은 필드는 무시한채 직렬화하게 된다.
출처:
https://velog.io/@hth9876/JsonIgnorePropertiesignoreUnknown-true
https://velog.io/@rlafbf222/JsonIgnore-request-Controller-HTTP-ResponseBody-MVC-%EB%8F%99%EC%9E%91%EC%9B%90%EB%A6%AC-CS-%EC%8A%A4%ED%84%B0%EB%94%94-%ED%95%AD%ED%95%B4-15%EC%9D%BC%EC%B0%A8
사진 출처 : https://namu.wiki/w/Spring(%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC)