【发布时间】:2021-06-01 15:24:07
【问题描述】:
我在用 nestjs 发出 post 请求时遇到了困难。请求我返回这个ERROR: An error occurred in POST /api/fraud-rules in 8ms...
{
"isError": true,
"status": 500,
"name": "InternalError",
"message": "Cannot read property 'emailAddress' of undefined",
"data": null
}
我能够拦截请求并记录正文,但由于某种原因,请求只是返回错误并且没有登录控制器。
user.controller.ts
@Post()
async create(@Body() createUserDto: CreateUserDto): Promise<User> {
console.log(createUserDto);
return await this.usersService.create(createUserDto);
}
user.service.ts
async create(createUserDto: CreateUserDto): Promise< User > {
let data: Prisma.UserCreateInput = {};
data = Object.assign(data, createFraudRuleDto);
return await this.usersRepository.create(data);
}
user.repository.ts
async create(data: Prisma.UserCreateInput): Promise<User | null> {
return this.prisma.user.create({ data });
}
我试图在控制器中记录数据以查看传入的数据,但它没有登录到我的控制台。
我使用nest start --debug --watch 运行应用程序
【问题讨论】:
-
向我们展示您在哪里进行
x.emailAddress道具访问。看起来x是undefined不知何故 -
您可以在您的问题中添加您的
CreateUserDto课程吗? -
@MicaelLevi @marco 你们都是对的。问题出在我的
CreateUserDto上,构造函数中的参数未定义。 -
来自控制器的
@Post()请求不是异步的,如果你这样做的话:@Post('/signup') createUser(@Body() body: CreateUserDto) { this.usersService.create(body.email, body.password); }
标签: node.js typescript nestjs