같은 기능에 해당하는 것들은 하나의 모듈 폴더 안에 넣어서 사용한다.
nest g module "이름"
nest g module boards
컨트롤러는 @Controller 데코레이터로 클래스를 데코레이션하여 정의된다.
nest g controller 컨트롤러 이름 --no-spec
핸들러는 @Get, @Post, @Delete와 같은 데코레이터로 장식된 컨트롤러 클래스 내의 단순한 메소드이다.
Provider는 Nest의 기본개념이다. Controller가 필요로 하는 컴포넌트들이 기능 단위로 존재하고, Controller가 해당 컴포넌트를 필요로 할 때 그 컴포넌트를 Controller로 종속시켜주는 것을 주입이라고 하는데, 여기서 각 요소가 Provider가 된다. 우리는 Service를 Controller에 주입시키기 때문에, Service는 큰 의미로 Provider이다.
Service 안에서는 데이터베이스 관련된 로직을 처리
nest g service 서비스 이름 --no-spec
파일 안에는 Injectable 데코레이터가 있으며 nestjs는 이것을 이용해서 다른 컴포넌트에서 이 서비스를 사용 할 수 있게 만들어 줍니다
또한 이렇게 만들어진 Service를 Controller에 사용할 수 있게 Dependency Injection, 즉 종속성 주입을 해주어야 한다. 이는 Controller 클래스의 Constructor 안에서 이루어 진다.