[NestJS]NestJs 세팅

코드깎는 노인·2021년 8월 3일
0
post-thumbnail

의존성

 "@nestjs/common": "^7.6.17", // nest에서 필요한 함수,클래스등 내장
 "@nestjs/core": "^7.6.17", 
 "@nestjs/platform-express": "^7.6.17",  // https요청을 처리하기 위한 expressJS
 "reflect-metadata": "^0.1.13",  데코레이터 헬퍼

http요청 처리방식 처리 방식

Nest는 http요청을 처리하기위해 ExpressFastify라이브러리를 사용한다.

nest가 요청을 처리하는 과정에 사용되는 도구

  • Controllers:request 분기처리
  • services:db엑세스와 비스니스 로직처리
  • Modules:코드를 그룹화
  • Pipes:request데이터 유효성 검사
  • Filters:요청처리중 발생하는 에러처리
  • Guards:인증처리
  • Interceptors:request나 response에 로직 추가
  • Controllers:저장된 db처리

get요청 처리 예시

import { Controller, Module, Get } from "@nestjs/common";
import { NestFactory } from "@nestjs/core";

@Controller()
class AppController {
  @Get()
  getRootRoute() {
    return "hi there";
  }
}

@Module({
  // nest가 시작할때 app module을 읽어 모든 컨트롤러를 찾아 인스턴스화 함
  controllers: [AppController], // nest에 사용하는 모든 컨트롤러 리스트
})
class AppModule {}

async function bootstrap() {
  //컨벤션으로 bootstrap이라는 함수명으로 생성
  const app = await NestFactory.create(AppModule); // next어플리케이션 인스턴스 생성

  await app.listen(3000); // 리스닝 포트 설정
}
bootstrap();


profile
내가 볼려고 만든 블로그

0개의 댓글