Woozy_DevLog
[NestJS] 커스텀 프로바이더
Framework/NestJS 2023. 5. 9. 17:13

시작하기 커스텀 프로바이더는 다음과 같은 경우에 사용됩니다. Nest 프레임워크가 만들어주는 인스턴스 또는 캐시 된 인스턴스 대신 인스턴스를 직접 생성하고 싶은 경우 여러 클래스가 의존관계에 있을 때 이미 존재하는 클래스를 재사용하고자 할 때 테스트를 위해 모의 버전으로 프로바이더를 재정의하려는 경우 밸류 프로바이더 밸류 프로바이더는 provide와 useValue 속성을 가집니다. useValue는 어떤 타입도 받을 수 있기 때문에 useValue 구문을 이용해 외부 라이브러리에서 프로바이더를 삽입하거나 실제 구현을 모의 객체로 대체할 수 있습니다. @Module({ imports:[UsersModule], providers: [{ provide:UsersService, useValue:mockUser..

Carryduo DTO
Project/Carryduo 2023. 3. 21. 21:42

DTO 리팩토링의 시작 배경 dto를 객체의 타입용도로만 사용하였다. 이후 dto에 대해 알게 되었고 배운 내용을 토대로 현재 프로젝트에 적용해보기로 하였다. dto는 각 계층 간 데이터 통신의 규격이 되는 객체이다. controller → service → repository의 계층에서 데이터 통신을 하려면 각 계층의 dto로 변환해주어야 한다. entity는 데이터베이스와 매핑되는 객체. DB에 접근하는 repository 계층은 entity 객체만 이용되는 것이 바람직하다. Service 계층 프로젝트는 repository 패턴을 적용하고 있다. repository에서 entity 객체를 전달 받아서 service에서 사용할 service 계층의 dto로 변환 후 데이터 연산을 통해 controll..