gpt4 book ai didi

nestjs - 如何在nest js中的装饰器上使用req.user获取用户数据

转载 作者:行者123 更新时间:2023-12-03 18:32:08 28 4
gpt4 key购买 nike

我创建了身份验证( jwt )并且该过程已正确完成。

我可以使用以下代码访问用户信息,但是使用装饰器无法获取用户信息!

Controller :

@Post('/me/info')
@UseGuards(AuthGuard())
myInfo(
@GetUser() user,
@Req() req,
) {
console.log(user); // undefined
console.log(req.user); // get user data object
}

我的装饰师是:
import { createParamDecorator } from '@nestjs/common';
import { User } from './user.entity';

export const GetUser = createParamDecorator((data, req): User => {
return req.user;
});

我的代码有什么问题?

最佳答案

问题出在createParamDecorator .
摘自 official manual on custom decorators :

import { createParamDecorator, ExecutionContext } from '@nestjs/common';

export const User = createParamDecorator(
(data: unknown, ctx: ExecutionContext) => {
const request = ctx.switchToHttp().getRequest();
return request.user;
},
);

关于nestjs - 如何在nest js中的装饰器上使用req.user获取用户数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62299932/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com