[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 공식 문서를 참고하시기 바랍니다.