민팽로그

[오늘도, 안녕] 2023.07.28 개발 일지 본문

프로젝트/오늘도, 안녕

[오늘도, 안녕] 2023.07.28 개발 일지

민팽 2023. 8. 14. 23:49

[Spring] DTO 사용 시 필요한 lombok annotation

 

[Spring] DTO 사용 시 필요한 lombok annotation

요즘 프로젝트 리팩토링을 하면서, DTO에 작성하는 여러개의 lombok 어노테이션의 사용 이유를 정확히 알지 못하고 사용하는 것 같아서 하나하나 고찰(?) 해보기로 했다. 일단, DTO는 Data Transfer Object

codingwell.tistory.com

자바 리플렉션 (Reflection) 기초

 

자바 리플렉션 (Reflection) 기초

리플렉션 (Reflection) JVM은 클래스 정보를 클래스 로더를 통해 읽어와서 해당 정보를 JVM 메모리에 저장한다. 그렇게 저장된 클래스에 대한 정보가 마치 거울에 투영된 모습과 닮아있어, 리플렉션

hudi.blog

 

컨트롤러에서 반환하는 Java 객체를 JSON으로, 또는 컨트롤러로 들어오는 JSON을 Java 객체로 변환하는 과정이 존재.

 

문제 상황

컨트롤러에서 DTO 반환 시 JSON 직렬화를 할 수 없다는 에러 발생

 

문제 원인

DTO 클래스에 Getter가 없었음

 

문제 해결

필드 조회를 위한 Getter 생성

 

스프링 부트는 Jackson 라이브러리를 통해 json 직렬화 / 역직렬화 작업을 진행 → dto를 직렬화할 때 getter를 사용

대부분의 필드는 private로 사용하여 접근을 막음 → 외부에서 사용하기 위해서는 getter가 필요

'프로젝트 > 오늘도, 안녕' 카테고리의 다른 글

[오늘도, 안녕] 2023.07.26 개발 일지  (0) 2023.08.14
Comments