부트캠프 기록/Section3

[Spring MVC] DTO 클래스와 Entity 클래스의 역할 분리 이유

bbangduck 2022. 10. 24. 22:04

1. 계층별 관심사의 분리

  • DTO는 컨트롤러 같은 클라이언트 단과 직접 마주하는 계층에서 데이터 교환할 때 쓰이는 자료구조
  • View 와 Controller 사이에서 데이터를 주고받을 때 활용성이 높음
  • DTO는 자료구조의 역할만 할 뿐 어떠한 기능 및 동작이 없어야 함

 

  • Entity 객체는 실제 DB 테이블과 매핑되는 핵심 클래스
  • 데이터 베이스의 테이블에 존재하는 칼럼들을 필드로 가지는 객체

 

2. 코드 구성의 단순화

3. REST API 스펙의 독립성 확보

  • DB로부터 조회된 Entity를 그대로 View로 넘기게 되었을 때 불필요한 정보 및 노출되면 안되는 정보까지 노출되는 것을 막음 (패스워드 같은 원하지 않는 데이터 제외 가능)
  • API 문서로써의 역할 => 유지보수 용이

 

 

참고