TypeError: Cannot read properties of null (reading 'id') _ 최종프로젝트

장영환·2024년 11월 21일

트러블슈팅

목록 보기
8/12

코드

  @Patch(':id')
  async updateInfo(@UserInfo() user: User,@Param('id') id: number,@Body() updateDto: UpdateDto,) {
    if (user.id !== id) {
      throw new UnauthorizedException('권한이 없습니다.');
    }
    
    await this.userService.updateInfo(
      id,
      updateDto
    );
    const { password, ...filteredUser } = user;
    return await { message: '사용자 정보가 성공적으로 업데이트되었습니다.',data: filteredUser }
  }

전개

해당 코드를 run하고 인썸니아에서 테스트를 진행하였고
TypeError: Cannot read properties of null (reading 'id')
오류가 계속 발생하였다.

검색을 해보니 인증문제였고, 현재 사용하고 있는 인증 방법은 jwt
jwt 가드를 적용하지 못한 문제였다.

결말

  @Patch(':id')
  @UseGuards(AuthGuard('jwt'))
  async updateInfo(@UserInfo() user: User,@Param('id') id: number,@Body() updateDto: UpdateDto,) {
    if (user.id !== id) {
      throw new UnauthorizedException('권한이 없습니다.');
    }
    
    await this.userService.updateInfo(
      id,
      updateDto
    );
    const { password, ...filteredUser } = user;
    return await { message: '사용자 정보가 성공적으로 업데이트되었습니다.',data: filteredUser }
  }

0개의 댓글