Nest.js?
- NestJS는 자바스크립트나 타입스크립트로 서버 애플리케이션을 개발할 수 있는 백엔드 웹 프레임워크(Web framework)
- OOP(객체 지향 프로그래밍), DI(의존성 주입), AOP(과점 지향 프로그래밍) 지원한다.
- 여러개의 Module로 이루어져 있다.
Module?
- @Module( ) 데코레이터로 주석이 달린 클래스
- 애플리케이션 구조를 구성하는 데 사용하는 메타 데이터를 제공한다.
- 각 응용프로그램에는 하나 이상의 모듈(루트 모듈)이 있다
→ nest가 사용하는 시작점
- 기본적으로 싱글 톤이므로 여러 모듈간에 쉽게 공급자의 동일한 인스턴스를 공유 할 수 있다.
Module
|--------- Controller
|--------- Repository
|--------- Service
|--------- Entity
|--------- Pipe
import { Module } from '@nestjs/common';
@Module({})
export class AppModule {}
Controller
- 들어오는 요청 처리, 클라이언트에 응답을 반환해준다.
import { Controller} from '@nestjs/common'
@Controller('/')
export class BoardController {
@Get()
getBoards(): string {
return 'Return All Books'
}
}
1. Handler
- @Get( ), @Post, .. 등과 같은
@
데코레이터로 장식된 컨트롤러 클래스 내 단순한 메서드이다.
- ( )내에서 경로를 설정해줄 수 있다.
2. 생성하기
nest g controller boards --no-spec
g
: generate
boards
: 이름
--no-spec
: 테스트 코드를 생성하지 않겠다.