@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 }
}