nestjs#2

jeongwon·2023년 5월 10일
0

module

같은 기능에 해당하는 것들은 하나의 모듈 폴더 안에 넣어서 사용한다.

nest g module "이름"
nest g module boards

controller

컨트롤러는 @Controller 데코레이터로 클래스를 데코레이션하여 정의된다.

nest g controller 컨트롤러 이름 --no-spec

handler

핸들러는 @Get, @Post, @Delete와 같은 데코레이터로 장식된 컨트롤러 클래스 내의 단순한 메소드이다.

Provider

Provider는 Nest의 기본개념이다. Controller가 필요로 하는 컴포넌트들이 기능 단위로 존재하고, Controller가 해당 컴포넌트를 필요로 할 때 그 컴포넌트를 Controller로 종속시켜주는 것을 주입이라고 하는데, 여기서 각 요소가 Provider가 된다. 우리는 Service를 Controller에 주입시키기 때문에, Service는 큰 의미로 Provider이다.

Service

Service 안에서는 데이터베이스 관련된 로직을 처리

nest g service 서비스 이름 --no-spec

파일 안에는 Injectable 데코레이터가 있으며 nestjs는 이것을 이용해서 다른 컴포넌트에서 이 서비스를 사용 할 수 있게 만들어 줍니다

또한 이렇게 만들어진 Service를 Controller에 사용할 수 있게 Dependency Injection, 즉 종속성 주입을 해주어야 한다. 이는 Controller 클래스의 Constructor 안에서 이루어 진다.

profile
jeongwon

0개의 댓글