NestJS (2) - 컨트롤러

냥무룩·2022년 7월 19일
0

NestJS

목록 보기
5/7

컨트롤러는 requset를 처리하고 response를 반환한다.

라우팅

cats.controller.ts

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

// api 공통 엔드포인트
@Controller('cats')
export class CatsController {
  // api 세컨드 엔드포인트
  @Get('all')
  findAll(@Req() req: Request): string {
    return this.appService.getHello();
  }
  
  @Post('nyan')
  bringMeHome(@Req() req: Request, @Body() adoptCatDto: AdoptCatDto ): string {
    return this.appService.getHello();
  }
}

NestJS에선 컨트롤러를 만들 때 CLI를 이용하여 간편하게 만들 수 있다.

nest g controller cats

이런 여러 다양한 응답객체들을 데코레이터를 사용하여 손쉽게 이용할 수 있다.

@Request(), @Req()	req
@Response(), @Res()*	res
@Next()	next
@Session()	req.session
@Param(key?: string)	req.params/req.params[key]
@Body(key?: string)	req.body/req.body[key]
@Query(key?: string)	req.query/req.query[key]
@Headers(name?: string)	req.headers/req.headers[name]
@Ip()	req.ip
@HostParam()	req.hosts

또한 상태코드도 쉽게 변경할 수 있다.

@Post()
@HttpCode(204)
create() {
  return 'This action adds a new cat';
}

그 외에 많은 것들을 docs에서 확인할 수 있다.

NestJS Docs - 컨트롤러

예시)

0개의 댓글