자바스크립트로 구현하는 NestJS 서버의 요청 및 응답 처리 방법

NestJS는 Node.js와 TypeScript로 개발된 서버 애플리케이션 프레임워크입니다. 이를 통해 빠르게 확장 가능하고 유지보수 가능한 서버 애플리케이션을 구축할 수 있습니다. 이번 게시물에서는 NestJS에서 요청과 응답 처리 방법에 대해 알아보겠습니다.

요청 처리

NestJS는 Express.js를 기반으로 하여 HTTP 요청을 처리할 수 있습니다. 이를 위해 @nestjs/common 모듈에서 제공하는 @Get(), @Post(), @Put(), @Delete() 등의 데코레이터를 사용하여 각각의 라우트 핸들러를 정의할 수 있습니다. 이 데코레이터는 해당 요청이 들어왔을 때 실행할 함수를 지정합니다.

다음은 @Get() 데코레이터를 사용하여 GET 요청을 처리하는 예제입니다.

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

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

위 예제에서 findAll() 함수는 GET /posts 요청이 들어왔을 때 실행됩니다. 이 함수는 단순히 “This action returns all posts”라는 문자열을 반환합니다.

응답 처리

NestJS에서의 응답 처리는 @nestjs/common 모듈의 Response 객체를 사용하여 할 수 있습니다. 이 객체를 이용하면 다양한 응답을 생성하고 클라이언트에게 전달할 수 있습니다.

다음은 Response 객체를 사용하여 특정 데이터를 JSON 형식으로 응답하는 예제입니다.

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

@Controller('posts')
export class PostsController {
  @Get()
  findAll(@Res() res: Response): void {
    const data = [
      { id: 1, title: 'Post 1' },
      { id: 2, title: 'Post 2' },
    ];
    res.json(data);
  }
}

위 예제에서 findAll() 함수는 GET /posts 요청이 들어왔을 때 실행됩니다. res.json() 메서드를 사용하여 data 변수에 담긴 데이터를 JSON 형식으로 응답합니다.

요약

NestJS는 자바스크립트를 사용하여 서버의 요청과 응답을 처리하는 간편하고 강력한 도구입니다. 이번 글에서는 NestJS의 데코레이터를 사용하여 요청을 처리하고, Response 객체를 사용하여 응답을 생성하는 방법을 알아보았습니다. NestJS의 다양한 기능을 활용하여 효율적으로 서버 애플리케이션을 개발해보세요.

#NestJS #자바스크립트