코딩과로그
[프로젝트 변경사항 기록] DTO class에 데코레이터 적용 본문
데이터를 가공 및 검증하기 위한 DTO 클래스를 이전에 생성했었다.
https://sororiri.tistory.com/8
[프로젝트 변경사항 기록] DTO 추가를 통한 모듈화 적용
기존에는 클라이언트로부터 받은 정보들에 대한 (데이터 가공 / 검증)을 컨트롤러/서비스에서 처리하고 있었다. 그러나 컨트롤러의 역할은 클라이언트로부터 받은 정보를 응답해주는 역할이므
sororiri.tistory.com
그러나 검증할 내용이 많고 가공할 정보 또한 많아 코드의 가독성이 떨어졌다.
해당 현상을 수정하기 위해 class-validator 와 class-transformer 라이브러리를 사용해 데코레이터를 추가해줌으로써 코드의 가독성을 늘렸다.
<데이터 검증 부분 관련>
변경 전: 각각의 멤버변수에 대해 생성자함수 내에서 데이터 검증을 하였다.
변경 후: 데코레이터를 통해 각각의 변수에 직접 예외처리 코드를 연결해줌으로써 관리가 용이해졌다.
실제 커밋:
https://github.com/EUNTTO-s/blog-backend/pull/26/commits/19c92d3b30d8a782fe3e87dc60cf0b742e38ce49
Add: Post에 대한 dto class를 추가함. by SangYunLeee · Pull Request #26 · EUNTTO-s/blog-backend
:: 최근 작업 주제 (하나 이상의 주제를 선택해주세요.) 리팩토링 :: 구현 목표 (해당 브랜치에서 구현하고자 하는 하나의 목표를 설정합니다.) Add: Post에 대한 dto class를 추가함. 원인: client로부터
github.com
<데이터 가공 부분 관련>
변경 전: 각각의 멤버변수에 대해 생성자함수 내에서 데이터 가공을 하였다.
변경 후: 각각의 변수에 대해 데코레이터를 통해 데이터 가공을 하였다.
이를 통해 이전보다 데이터 가공처리가 용이해졌다.
실제 커밋:
https://github.com/EUNTTO-s/blog-backend/pull/26/commits/9bf9a3f5e9186c097d35f6e228136e2d7ddded08
Add: Post에 대한 dto class를 추가함. by SangYunLeee · Pull Request #26 · EUNTTO-s/blog-backend
:: 최근 작업 주제 (하나 이상의 주제를 선택해주세요.) 리팩토링 :: 구현 목표 (해당 브랜치에서 구현하고자 하는 하나의 목표를 설정합니다.) Add: Post에 대한 dto class를 추가함. 원인: client로부터
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 추가를 통한 모듈화 적용 (0) | 2023.02.02 |