小编Dan*_*llo的帖子

为什么 Post 请求中的 @Body() 不能正常工作?[Nest.js]

我开始学习 Nest.js,所以我正在学习 Academind 教程(链接)。

当我尝试body使用请求中的@Body()装饰器获取变量时,我的代码未按预期工作POST。在这部分代码之后products.controller.ts

@Post()
async addProduct(@Body() body: Product) {
  console.log(body);
  const generatedId = this.productService.insertProduct(body.title, body.description, 5.99);
  return generatedId;
}
Run Code Online (Sandbox Code Playgroud)

在终端中,输出只是一个空对象: {}

我已经搜索了其他示例以了解如何正确执行此操作。我在 DigitalOcean中找到了一个教程,它们也在@BodyPOST 请求中使用;他们在教程的结尾留下了一个带有示例的存储库。这个例子既不适合我。

我只是addBook()book.service.ts档案中的功能做了一个小改动,用于返还新书而不是所有书

addBook(book): Promise<any> {
    return new Promise(resolve => {
        this.books.push(book);
        // resolve(this.books);
        resolve(book);
    });
}
Run Code Online (Sandbox Code Playgroud)

我从 Postman 执行以下 POST 请求,但响应是一个空对象。

来自邮递员的 POST 请求

除了 POST 请求之外,所有其他 HTTP 请求都运行良好。

任何想法代码可能有什么问题?提前致谢。

nestjs

5
推荐指数
2
解决办法
7421
查看次数

标签 统计

nestjs ×1