[typescript] 타입스크립트로 Nest.js 컨트롤러 작성하기

Nest.js는 Node.js를 위한 프레임워크로, TypeScript를 사용하여 효율적인확장 가능한 애플리케이션을 작성할 수 있도록 도와줍니다. 이 프레임워크의 핵심 부분은 컨트롤러입니다.

이번 포스트에서는 Nest.js로 타입스크립트를 사용해 컨트롤러를 작성하는 방법에 대해 살펴보겠습니다.

Nest.js 프로젝트 생성

우선, Nest.js 프로젝트를 생성합니다. 아래 명령어를 사용하여 새로운 Nest.js 프로젝트를 만들 수 있습니다.

$ npm install -g @nestjs/cli
$ nest new project-name

컨트롤러 작성

새로운 컨트롤러를 만들기 위해 아래 명령어를 사용합니다.

$ nest generate controller products

이 명령어를 실행하면 products.controller.ts 파일이 생성됩니다. 이 파일에는 기본적인 컨트롤러 구조가 포함되어 있습니다.

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

@Controller('products')
export class ProductsController {
  @Get()
  findAll(): string {
    return 'This action returns all products';
  }
}

위 코드에서 @Controller 데코레이터는 해당 클래스가 컨트롤러임을 나타내고, @Get 데코레이터는 해당 메서드가 HTTP GET 요청을 처리한다는 것을 나타냅니다.

라우팅

생성된 컨트롤러에는 라우팅을 설정할 수 있는데, 이를 통해 특정 HTTP 요청에 대한 응답을 정의할 수 있습니다.

// ...

@Controller('products')
export class ProductsController {
  @Get()
  findAll(): string {
    return 'This action returns all products';
  }

  @Get(':id')
  findOne(@Param('id') id: string): string {
    return `This action returns product ${id}`;
  }
}

위 코드에서 @Get(':id') 데코레이터는 파라미터화된 URL을 통해 요청을 처리하고, @Param('id') 데코레이터는 해당 파라미터 값을 가져옵니다.

마치며

이제 Nest.js타입스크립트를 사용하여 컨트롤러를 작성하는 방법에 대해 알아보았습니다. 이제 생성된 컨트롤러를 통해 HTTP 요청을 처리하고, 확장 가능한 애플리케이션을 개발할 수 있을 것입니다.

더 자세한 내용은 Nest.js 공식 문서를 참고하시기 바랍니다.