코딩과로그
[프로젝트 변경사항 기록] DTO 추가를 통한 모듈화 적용 본문
기존에는 클라이언트로부터 받은 정보들에 대한 (데이터 가공 / 검증)을 컨트롤러/서비스에서 처리하고 있었다.
그러나 컨트롤러의 역할은 클라이언트로부터 받은 정보를 응답해주는 역할이므로 데이터 가공 및 검증에 대한 처리까지 담당한다면 응집성이 떨어지므로 DTO 클래스를 만들어 데이터 가공/검증 역할을 위임하도록 하였다.
기존 :
post.service.ts => 기존에는 데이터에 대한 검증까지 담당하고 있었음.
변경 :
posts.dto.ts => DTO class에서 검증하도록 변경
기존:
post.controller.ts => 기존에는 데이터에 대한 가공까지 담당하고 있었음.
변경:
posts.dto.ts => DTO class 내의 factory 함수에서 검증하도록 변경
관련 커밋:
https://github.com/EUNTTO-s/blog-backend/commit/d6be344316210f15b015ece136aa7787358ed743
Add: Post에 대한 dto class를 추가함. · EUNTTO-s/blog-backend@d6be344
- 원인: client로부터 받은 post에 대해 생성 및 형식처리를 controller단에서 맡아서 처리하고 있으나 contoroller이 해야하는 역할과는 거리가 멂. - 해결: post에 대한 dto를 추가하여 post의 생성 및 형식
github.com
'Node.js' 카테고리의 다른 글
typescript 내 jest 적용 중 import 에러 수정 (feat: esModuleInterop) (0) | 2023.02.14 |
---|---|
https 서버를 배포해보자 (feat: 도메인 설정, express 서버 기준) (0) | 2023.02.06 |
라우터 포트포워딩을 통한 서버 배포 (0) | 2023.02.06 |
[프로젝트 수정사항 내용] 데드락 수정 (0) | 2023.02.05 |
[프로젝트 변경사항 기록] DTO class에 데코레이터 적용 (0) | 2023.02.02 |