확실히 집에 와서 다시 개발 공부를 할때면 일하면서 놓쳤던 부분들에 대해 아 그래서 그렇게 되는구나!라고 상기시킬 수 있다.
그래도 계속 포스팅 하면서 일하면서 만났던 내용들이나 부족했던 개념들 상기시키고, 될때까지, 익숙할때까지, 질릴때까지 계속 포스팅 작성할거다...!
집에 와서 시청한 영상은 인프런 '따라하면서 배우는 NestJS'이다.
Decorator와 Handler의 차이
@Decorator -> ex) @Controller, @Service, @Entity, @Repository
@Handler -> ex) @Get, @Post, @Patch, @Delete
Decorator로 장식된 @Controller가 있다면, 클래스 내의 단순한 메소드가 Handler이다.
@Controller('greeting')
@Get('/hello'){
~ }
nest g controller boards --no-spec
1) nest 키워드는 nestCLI를 사용하겠다는 선언
2) --no-spec은 boards.controller.spec.ts 파일(테스트 파일)을 생성하지 않겠다는 뜻
3) g는 generate의 의미
Provider
boards.module.ts 파일을 가보자.
위에서 nest g controller boards를 했다면 boards.module.ts 파일에 controller 부분에 [BoardsController] 라고 생성이 되어있을 것이다. 이는 nest g ~ 키워드를 사용하였기 때문에 자동으로 module.ts에 등록되는 것이다. module에 등록을 해줘야 해당 역할을 하는 파일들을 사용할 수 있다(마치 카드등록이랄까? 카드도 받기만 하고 바로 사용하는게 아니라, 사용등록을 해주어야 카드를 사용할 수 있다)
그렇다면 Provider의 역할은 무엇인가? Service,Repository,Factory,Helper 등을 정의하는 곳이다.
종속성을 주입하여 객체 인스턴스를 연결한다.
Service
@Injectable 데커레이터를 이용하여 다른 데러케리어테어 이 Service를 사용할 수 있도록 만들어준다.
Service에서는 DB 관련 로직을 처리하고, 데이터 유효성을 체크하는 역할을 한다. Service가 이런 로직을 처리하면서 return값을 Controller에게 전달해주고, Controller는 그에 맞는 HTTP Response를 한다.
'Backend > NestJS' 카테고리의 다른 글
model의 역할 + 게시판의 기본 구성 살펴보기 (0) | 2023.03.20 |
---|---|
NestJS에서의 의존성 주입(Dependency Injection) (0) | 2023.03.16 |
nest.cli.json에서 source root(프로그램 시작점) 찾기 (0) | 2023.03.15 |
controller의 역할 (0) | 2023.03.07 |
localhost:3000시 Hello World!는 어디서 오는걸까? (0) | 2023.03.05 |