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([]);
}