BE/Spring
[Spring] 초간단! ResponseDto, RequestDto
Mingi Kim
2024. 2. 24. 12:37
본 포스팅은 ResponseDto, RequestDto의 개념에 대해 다룹니다.
HttpMessageConverter
웹에서 클라이언트와 서버가 통신할 때, JSON을 이용하여 통신하게 되는데, 서버에서 값을 일일이 JSON으로 변환하여 전달하는 것은 공수가 많이 드는일입니다. 따라서 이 일을 처리해주는 인터페이스가 HttpMessageConverter 입니다.
이 인터페이스의 구현체 중 MappingJackson2HttpMessageConverter 클래스가 있습니다. 이 클래스는 Jackson 라이브러리의 클래스로써, ResponseDto, RequestDto, ResponseEntity와 같이 JSON 과 Java Object을 변환해주는 역할을 수행합니다.
RequestDto
위의 MappingJackson2HttpMessageConverter 클래스를 이용해서 입력으로 들어온 JSON을 RequestDto 객체로 변환하게되는데, getter를 이용해서 JSON의 데이터를 DTO 필드로 가져오게됩니다. 따라서, RequestDto에서는 getter와 기본 생성자가 필요합니다.

ResponseDto
RequestDto와 유사하게 MappingJackson2HttpMessageConverter 클래스를 이용해서 ResponseDto 객체를 JSON으로 변환하게되는데, ResponseDto를 반환할때, getter를 이용해서 DTO 필드를 가져와서 JSON으로 만들어줍니다. 따라서, ResponseDto에서는 getter가 필요합니다.