개발 일지/Spring

[Spring MVC] DTO

미숫가루설탕많이 2023. 2. 15. 18:33

 DTO(Data Transfer Object)란, 계층간의 데이터 교환을 위해 사용하는 객체이다.

 

 데이터 전송은 클라이언트에서 서버 쪽으로 전송하는 요청 데이터, 서버에서 클라이언트 쪽으로 전송하는 응답 데이터 형식으로 클라이언트와 서버 간에 데이터 전송이 이루어지는데 여기서 DTO를 사용할 수 있다.

 

 

 

 

DTO를 사용하는 이유

 

  1. 코드의 간결성
    : DTO 클래스를 통해 클라이언트의 요청 데이터를 하나의 객체로 전달 받을 수 있기 때문에 코드가 간결해진다.

  2. 데이터 유효성(Validation) 검증의 단순화
    : 유효성 검증 로직을 DTO 클래스로 빼내서 핸들러 메서드의 간결함을 유지할 수 있다.

  3. 필요한 데이터만 응답으로 줄 수 있다.
    : Entity 자체를 클라이언트에 대한 응답으로 넘기면 개인 정보같은 민감한 데이터까지 포함될 수 있다.

  4. Entity 구현을 캡슐화하여 보호할 수 있다.
    : DTO를 통해 클라이언트의 요청과 Entity Model이 강하게 결합되는 것을 방지할 수 있다.

  5. 비용이 많이 드는 작업인 HTTP 요청의 수를 줄일 수 있다.
  6. Validation 코드와 Entity 속성 코드를 분리할 수 있다.