nestjs 시작하기

nestjs 시작하기

Installation

npm i -g @nestjs/cli
nest new project-name

nest generate module users // generate module
nest g co users // generate controller
npm install

npm run start

Controllers

request를 받아 response를 반환하는 역할을 한다.

decorator 를 사용하여 해당 하는 url로 routing을 할 수 있다.

import { Controller, Get } from '@nestjs/common';

@Controller('cats') //define url
export class CatsController {
  @Get()
  findAll() {
    return 'This action returns all cats';
  }
}

controller의 request와 response는 @Req()@Res() 를 통해 다음과 같이 사용될 수 있다.

end point decorator

import { Controller, Get, Post } from '@nestjs/common';

@Controller('cats')
export class CatsController {
  @Post()
  create() {
    return 'This action adds a new cat';
  }

  @Get()
  findAll() {
    return 'This action returns all cats';
  }
}

위와 같이 @Post()@Get() 등의 decorator를 통해 endpoint를 설정할 수 있다.

Route parameters

@Get(':id')
findOne(@Param() params) {
  console.log(params.id);
  return `This action returns a #${params.id} cat`;
}

Async

@Get()
async findAll(): Promise<any[]> {
  return [];
}

@Get()
findAll(): Observable<any[]> {
  return of([]);
}