[Nestjs] req.user의 Type 지정하기

LeeJaeJun·2022년 5월 23일
1

@UserGuard를 사용해서 로그인에 성공하면 req.user로 JWT 토큰의 값을 반환해준다.
다만, Req.user는 Express+JavaScript에서 사용하던 내용이라 TypeScript에서 Type을 찾을 수 없다. NestJs+TypeScript에서 사용하려면 Custom Type을 지정해줘야한다.

주로 types 폴더를 생성하여 코드 작성함

import { JwtDto } from '@modules/user_manage/dto/jwt.strategy.dto';

declare global {
  namespace Express {
    export interface User extends JwtDto { }
  }
}

JwtDto는 JWT의 내부 규칙

export class JwtDto {
    uuid:string;
    nickname:string;
}

이후 tsconfig.json에 값추가

"compilerOptions": {
	"typeRoots": ["./node_modules/@types", "./src/types"], 
}

0개의 댓글