[typescript] Nest.js에서 타입스크립트를 사용한 쿠키 및 세션 처리
Nest.js는 타입스크립트로 구축된 프레임워크로, Node.js 기반의 서버 사이드 응용프로그램을 개발하는 데 사용됩니다. 이 프레임워크는 기본적으로 Express 위에 구축되어 있고, 타입스크립트의 강력한 기능을 살려 효율적이고 확장 가능한 애플리케이션을 개발할 수 있습니다.
이번 포스트에서는 Nest.js에서 타입스크립트를 사용하여 쿠키와 세션을 처리하는 방법에 대해 살펴보겠습니다.
쿠키 다루기
Nest.js에서 쿠키를 다루기 위해서는 먼저 @nestjs/common
, @nestjs/core
, @nestjs/platform-express
패키지를 설치해야 합니다.
npm install --save @nestjs/common @nestjs/core @nestjs/platform-express
쿠키 설정
쿠키를 설정하기 위해서는 응답 객체를 이용하여 쿠키를 설정해야 합니다. 다음은 쿠키를 설정하는 간단한 예제 코드입니다.
import { Controller, Get, Res } from '@nestjs/common';
import { Response } from 'express';
@Controller()
export class AppController {
@Get()
getCookie(@Res() res: Response) {
res.cookie('cookieName', 'cookieValue');
return 'Cookie is set';
}
}
위 코드는 /
경로에 대한 GET 요청이 들어왔을 때 cookieName
이라는 쿠키에 cookieValue
를 설정합니다.
세션 다루기
Nest.js에서 세션을 다루기 위해서는 추가적인 패키지를 설치해야 합니다. express-session
패키지를 사용하여 세션을 처리할 수 있습니다.
npm install --save express-session
세션 설정
세션을 설정하기 위해서는 세션 미들웨어를 미들웨어 스택에 추가해야 합니다.
import { Module, NestModule, MiddlewareConsumer } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import * as session from 'express-session';
@Module({
imports: [],
controllers: [AppController],
providers: [AppService],
})
export class AppModule implements NestModule {
configure(consumer: MiddlewareConsumer) {
consumer.apply(session({
secret: 'my-secret',
resave: false,
saveUninitialized: true,
})).forRoutes('/');
}
}
위 코드는 /
경로에 대한 요청이 들어왔을 때 세션을 설정하는 예제입니다.
이제 Nest.js에서 타입스크립트를 사용하여 쿠키와 세션을 다루는 기초적인 방법을 살펴보았습니다. 더 많은 기능을 활용하기 위해서는 Nest.js 및 Express의 공식 문서를 참고하시기 바랍니다.