关于Server端从Context获取user.id
来源:8-13 useContext 使用最佳实践,并用其存储全局用户信息(3)

是李骏同学
2023-09-13
@Query(() => UserType, { description: '使用 ID 查询用户' })
async getUserInfo(@Context() cxt: any): Promise<UserType> {
const id = cxt.req.user.id;
return await this.userService.find(id);
}
此节视频开头就展示了Resolver从cxt获取user.id但是我本地运行的结果是id未定义,是哪里出了问题呢?
查询语句:
query {
getUserInfo {
tel
id
}
}
查询结果:
{
"errors": [
{
"message": "Cannot read properties of undefined (reading 'id')",
"locations": [
{
"line": 2,
"column": 3
}
],
"path": [
"getUserInfo"
],
"extensions": {
"code": "INTERNAL_SERVER_ERROR",
"exception": {
"stacktrace": [
"TypeError: Cannot read properties of undefined (reading 'id')",
" at UserResolver.getUserInfo (C:\\Users\\Adam\\WorkSpace\\water-drop-server\\src\\modules\\user\\user.resolver.ts:26:29)",
" at C:\\Users\\Adam\\WorkSpace\\water-drop-server\\node_modules\\.pnpm\\@nestjs+core@9.4.3_@nestjs+common@9.4.3_@nestjs+platform-express@9.4.3_reflect-metadata@0.1.13_rxjs@7.8.1\\node_modules\\@nestjs\\core\\helpers\\external-context-creator.js:67:33",
" at processTicksAndRejections (node:internal/process/task_queues:95:5)",
" at target (C:\\Users\\Adam\\WorkSpace\\water-drop-server\\node_modules\\.pnpm\\@nestjs+core@9.4.3_@nestjs+common@9.4.3_@nestjs+platform-express@9.4.3_reflect-metadata@0.1.13_rxjs@7.8.1\\node_modules\\@nestjs\\core\\helpers\\external-context-creator.js:74:28)",
" at Object.getUserInfo (C:\\Users\\Adam\\WorkSpace\\water-drop-server\\node_modules\\.pnpm\\@nestjs+core@9.4.3_@nestjs+common@9.4.3_@nestjs+platform-express@9.4.3_reflect-metadata@0.1.13_rxjs@7.8.1\\node_modules\\@nestjs\\core\\helpers\\external-proxy.js:9:24)"
]
}
}
}
],
"data": null
}
写回答
1回答
-
黑石
2023-09-14
没有加 guard 装饰器
00
相似问题