DTO 만들기

김인범's avatar
Nov 18, 2024
DTO 만들기

DTO (Data Transfer Object)는 데이터 전송을 위한 객체를 뜻합니다.
 
DTO를 만들어서 데이터를 주고받는 이유로는
Entity와 분리된 형태로 클라이언트와 데이터를 주고받을 수 있으며,
Entity 객체를 그대로 반환하는 것 보다 보안에 민감한 데이터가 외부에 노출되는 위험이 적어집니다.
보안에 신경써야하는 데이터를 골라내는 것과 같이
클라이언트에게 필요한 데이터만 선택적으로 반환할 수 있습니다.
Entity객체를 직접 Controller나 외부로 반환하면, 비즈니스 로직에 영향을 미칠 수 있다고 합니다.
 

notion image
Dto를 사용하여 데이터를 Controller에 전송하고 있는 Service 클래스입니다.
findAll을 통해 DB에서 데이터들을 가져와 DTO들의 리스트(배열)에 넣어
전달하는 비즈니스 로직으로 되어있습니다.
 
notion image
게시글목록보기() 메서드에서 사용되고 있는 boardDto의 구성입니다.
id와 글 제목만 필드로 가지고 있는 Dto로 그 외 다른 데이터들은 제외하여
목록에만 보여줄 필요한 데이터를 가지고 전달할 수 있도록 되어있습니다.
 
notion image
Controller에서는 Service의 메서드를 통해 게시글 정보들을 가져오고
클라이언트에게 전달되게 만들어져 있습니다.
 
notion image
웹 페이지에서는 Dto의 필드로 구성되어있는 글 ID 와 글 제목이 보여집니다.
이처럼 각 페이지에 필요한 데이터만 전달할 수 있도록 하는 것이 Dto의 역할 입니다.
 
Share article

taker