NestJS : DTO를 왜 사용하는가?

우주·2022년 12월 18일
0

NestJS

목록 보기
1/2
post-thumbnail

DTO (Data Transfer Object)

계층간 데이터를 교환하기 위한 객체이다.
DB에서 데이터를 얻어 Service나 Controller 등으로 보낼 때 사용하는 객체를 말한다.

DTO 클래스

board.controller

board.service

위와 같이 DTO에 존재하는 속성들을 구조분해할당으로 가져옴으로써 하나의 수정사항을 고치기 위해서 모든 파일을 건드리지 않아도 된다는 장점이 존재하는 것이다.

DTO는 왜 쓰는데 ?

  • 데이터 유효성을 체크하는데 효율적이다.
  • 안정적인 코드를 만들어 준다. typescript의 타입으로도 사용이 가능하다.

다시금 DTO를 사용하는 이유는 간단한 서비스를 만들 때는 몇 개의 속성들만 불러오고 몇 군데에서 불러오면 되지만, 서비스의 크기가 커지고 이에 해당하는 속성들을 갖고 있을 때, 한 곳에서 속성의 이름을 변경해야할 때, 해당 속성이 존재하는 모든 곳에서 똑같이 수정을 해주어야 한다. 이렇게 되었을 때 서비스를 유지보수하기 힘들다.

따라서 DTO를 사용해서 해당 문제를 사용할 수 있다.

profile
개발합니다. 회고합니다.

0개의 댓글