15556 - 29.09.2023, 20:19:14 错误 [ExceptionsHandler] 整数类型的输入语法无效:“NaN”?

问题描述 投票:0回答:1

我有装饰师:

    export const UserId = createParamDecorator(
      (data: unknown, ctx: ExecutionContext) => {
        const request = ctx.switchToHttp().getRequest();
        return request.user?.id ? Number(request.user.id) : null;
      },
    );

我的代码:
如果我尝试在没有 @ApiBearerAuth() 的情况下获取信息,我只会看到有关第一个用户的所有信息。但是对于 @ApiBearerAuth() 我有错误。 我们需要方法 Get('/profile')


    @Controller('users')
    @ApiTags('users')
    @ApiBearerAuth()
    export class UsersController {
      constructor(private readonly usersService: UsersService) {}
    
      @Get('/profile')
      @UseGuards(JwtAuthGuard)
      getProfile(@UserId() id: number) {
        console.log(id)
        return this.usersService.findById(id);
      }
    }

功能:

    async findById(id: number) {
      return this.repository.findOneBy({
        id,
      });
    }

为什么我看到 NaN?我听不懂。

node.js backend nest
1个回答
0
投票

我的问题是,当我获取令牌时,我尝试从 user.id 中获取 id,但我应该从 user._id 中获取它。

© www.soinside.com 2019 - 2024. All rights reserved.