NestJS의 controller는 express의 router와 같다.

NestJS 의 어플리케이션은 main.ts 에서 시작한다.

그리고 하나의 모듈에서 어플리케이션을 생성한다.

// main.ts

import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';

async function bootstrap() {
  const app = await NestFactory.create(AppModule); // 앱모듈에서 app 생성
  await app.listen(3000);
}
bootstrap();

AppModule 은 모든 것의 root 모듈이라고 할 수 있다.

AppModule 에서는 2가지를 알아야 한다.

  1. controller
  2. provider
// app.module.ts

import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';

// 데코레이터 : 클래스에 함수 기능을 추가할 수 있다.(클래스 위의 함수. 클래스를 위해 움직임)
@Module({
  imports: [],
  controllers: [AppController],
  providers: [AppService],
})

// AppModule 이란 클래스는 비어있다. 내용은 데코레이터가 가지고 있다.
export class AppModule {}

1. controller