nesjs에서 요청정보에 대한 쿠키 정보를 받아야할 때 cookie parser를 이용하여 쿠키정보를 가져올 수 있다.
yarn add cookie-parser @types/cookie-parser
main.ts에 cookie parser를 등록해준다.
async function bootstrap() {
const app = await NestFactory.create(AppModule);
app.use(cookieParser());
await app.listen(3000);
}
아래와 같이 커스텀 데코레이터를 생성한다.
import { createParamDecorator, ExecutionContext } from '@nestjs/common';
export const Cookies = createParamDecorator(
(key: string, ctx: ExecutionContext) => {
const request = ctx.switchToHttp().getRequest();
return key ? request.cookies?.[key] : request.cookies;
},
);
이제 Controller에서 가져오고 싶은 쿠키의 key 값을 넣어주면 된다.
async createFolder(
@Cookies(authTokenKey.accessToken) accessToken: string,
): Promise<Folder> {
return this.folderService.createFolder(name, parentId);
}
댓글