프로젝트 시작하기
설치
- 설치할 폴더로 이동 후 아래 코드를 순서대로 입력한다.
- npm i -g @nestjs/cli
- nest new project-name
코드 작성해보기
- nestjs를 시작할 시 가장 먼저 실행되는것은 src/main.ts 파일입니다.
import { Controller, Module, Get } from '@nestjs/common'
import { NestFactory } from '@nestjs/core'
// 컨트롤러, root에 Get요청을 보내면 "test" 문자열을 리턴한다.
// 각각의 데코레이터 소괄호 안에 uri을 지정해줄수 있다.
// Get("/root") -> 주소/root 로 요청을 보내야 함.
@Controller()
class AppController {
@Get("/")
getRootRoute() {
return "test"
}
}
// 컨트롤러들을 모아주는 역할을 한다.
@Module({
// 컨트롤러 정함
controllers: [AppController]
})
class AppModule {}
async function bootstrap() {
// 특정 모듈을 이용해 app을 초기화
const app = await NestFactory.create(AppModule);
// 3000번 포트에서 실행
await app.listen(3000);
}
// 서버 시작 함수를 호출한다.
bootstrap();
파일 이름 짓는법 / Naming convention
- 현재 main.ts 에 컨트롤러와 모듈이 같이 있는 상황이며, 이는 좋지 못하다.
- 각각을 분리를 해주는데, 이때 이름은 아래와 같이 짓는다.
이름.기능.ts
- app.controller.ts
- app.module.ts
NestJS 구조
Pipe
- 요청에 포함된 데이터를 검증(Validate) 한다.
Guard
Controller
Service
Repository
Module