nest js 中的状态 500

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

我正在研究 Nest js,当我使用 prism 创建 api 时,我的 api 发送错误 500

我试图查看堆栈溢出中的某些内容,但我无法采取任何措施来解决我的错误

// Book Controller
  @Post()
  async create(@Body() data: BookDTO) {
    return await this.bookService.create(data);
  }


// Book Service
  async create(data: BookDTO) {
    return await this.prisma.book.create({ data });
  }

这出现在我的日志中

[Nest] 1188  - 06/11/2023, 11:46:09   ERROR [ExceptionsHandler] 
Invalid `this.prisma.book.create()` invocation in
C:\Users\gamer\Documents\nest\api\src\modules\book\book.service.ts:10:35

   7 constructor(private prisma: PrismaService) {}
   8
   9 async create(data: BookDTO) {
→ 10   return await this.prisma.book.create({
         data: {
       +   title: String
         }
       })

Argument `title` is missing.
PrismaClientValidationError:
Invalid `this.prisma.book.create()` invocation in
C:\Users\gamer\Documents\nest\api\src\modules\book\book.service.ts:10:35

   7 constructor(private prisma: PrismaService) {}
   8
   9 async create(data: BookDTO) {
→ 10   return await this.prisma.book.create({
         data: {
       +   title: String
         }
       })

Argument `title` is missing.
error-handling nest http-status-code-500
1个回答
0
投票

我对 JavaScript 有一些了解。

您看到的错误消息表明您传递给图书服务中的 this.prisma.book.create() 方法的数据对象中缺少 title 属性。

这是您当前的代码片段:

async create(data: BookDTO) {
return await this.prisma.book.create({
 data: {
   // title: String <-- This line is commented out
 }
  });
}  

好像title属性被注释掉了。您需要确保将 title 属性包含在数据对象中,并使用 BookDTO 中的适当值。假设 BookDTO 有一个 title 属性,您应该取消注释该行:

async create(data: BookDTO) {
  return await this.prisma.book.create({
    data: {
      title: data.title, // Include the title property
      // Other properties from BookDTO
    }
  });
}

我想我帮助解决了你的问题

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