import { Controller, Get } from '@nestjs/common';
import { AppService } from './app.service';
@Controller()
export class AppController {
constructor(private readonly appService: AppService) {}
@Get()
getHello(): string {
return this.appService.getHello();
}
}
NestJS에서는 HTTP 요청을 처리하기 위해 컨트롤러를 사용 컨트롤러는 특정 URI 엔드포인트와 HTTP 요청 메서드를 처리하는 메서드를 정의
import { Injectable } from '@nestjs/common';
@Injectable()
export class AppService {
getHello(): string {
return 'Hello World!';
}
}
NestJS에서는 서비스를 사용하여 컨트롤러에서 사용할 비즈니스 로직을 구현 서비스는 컨트롤러와 같은 클래스이며, Injectable 데코레이터를 사용하여 주입
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
@Module({
imports: [],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}
NestJS에서는 모듈을 사용하여 애플리케이션을 구성 모듈은 특정 기능 또는 비즈니스 로직을 담당하는 컴포넌트 집합
애플리케이션에 필요한 모든 컨트롤러, 서비스, 프로바이더 및 미들웨어 등을 모듈에 등록
NestJS에서는 프로바이더를 사용하여 의존성 주입을 관리
프로바이더는 컨트롤러나 서비스에서 사용하는 객체, 함수 등을 제공