Open rimo030 opened 11 months ago
Controller (Router), Service, Repository, Middleware, Interceptor, Pipe, Filter, Entity, Dto 등 NestJS의 구조를 이루는 각종 Layer에 대해서 학습하세요. 미리 학습해두면 추후 코드를 작성할 때 이해도가 높아져 있을 겁니다. 읽어도 이해가 가지 않는 부분은 추후 질문해주세요.
_Originally posted by @kakasoo in https://github.com/rimo030/Repo-Server/pull/1#discussion_r1377334130_
사용자의 요청(request)을 처리하고, 응답(response)을 반환하는 역할
@Controller() export class ... { }
역할을 수행하기 위해 경로를 지정하는 것
@Controller(경로명) export class ... { }
어플리케이션이 제공하는 서비스 기능을 구현하고 수행하는 역할을 맡는 것 service, repository, factory, helper 등 여러가지 형태로 구현
@Injectable() # 싱글턴(Singleton) 객체로 메모리에 존재 export class ... { }
@Controller('...') # 생성자 기반 의존성 주입 export class ...{ constructor(private readonly service: Service) {}
서로 유사한 서비스 혹은 기능들끼리 모듈들로 묶인 코드 덩어리
@Module({ imports: [module, ...], controllers: [controller, ...], providers: [provider, ...], exports: [provider, ...] }) export class AppModule {}
@Injectable()
@Global() # imports 설정 필요 X
data transformation과 data validation를 위해서 사용
import { PipeTransform, Injectable, ArgumentMetadata } from '@nestjs/common'; @Injectable() export class ... implements PipeTransform { transform(value: any, metadata: ArgumentMetadata) { return value; } }
애플리케이션에서 비즈니스 객체 또는 모델을 나타내는 클래스
@Entity()
프로세스 간에 데이터를 전달하는 객체
Service Layer- Repository Layer-Data Source Layer
Service Layer
Repository Layer
Data Source Layer
기본적으로 Express 미들웨어와 동일
아래 블로그 시리즈가 이해에 도움이 되어 남깁니다! https://tristy.tistory.com/38?category=993422
NestJS의 구조
Controller (Router), Service, Repository, Middleware, Interceptor, Pipe, Filter, Entity, Dto 등 NestJS의 구조를 이루는 각종 Layer에 대해서 학습하세요. 미리 학습해두면 추후 코드를 작성할 때 이해도가 높아져 있을 겁니다. 읽어도 이해가 가지 않는 부분은 추후 질문해주세요.
_Originally posted by @kakasoo in https://github.com/rimo030/Repo-Server/pull/1#discussion_r1377334130_
🔧Controller
사용자의 요청(request)을 처리하고, 응답(response)을 반환하는 역할
Routing
역할을 수행하기 위해 경로를 지정하는 것
🔧Providers
어플리케이션이 제공하는 서비스 기능을 구현하고 수행하는 역할을 맡는 것 service, repository, factory, helper 등 여러가지 형태로 구현
의존성 주입
🔧Modules
서로 유사한 서비스 혹은 기능들끼리 모듈들로 묶인 코드 덩어리
@Injectable()
+ providers에 명시)전역모듈
🔧Pipe
data transformation과 data validation를 위해서 사용
Built-in pipes
Custom pipes
🕹️Entity
애플리케이션에서 비즈니스 객체 또는 모델을 나타내는 클래스
🕹️DTO(Data Transfer Object)
프로세스 간에 데이터를 전달하는 객체
🕹️Repository Pattern
Service Layer
-Repository Layer
-Data Source Layer
Middleware
기본적으로 Express 미들웨어와 동일
Interceptor
Filter
아래 블로그 시리즈가 이해에 도움이 되어 남깁니다! https://tristy.tistory.com/38?category=993422