创建-dealer-dto.ts 文件
export class CreateDealerDto {
@IsOptional()
ccm: JSON;
}
schema.prisma 文件
model Dealer {
id Int @id @default(autoincrement())
ccm Json?
createdBy Int @map("created_by")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
deletedBy Int? @map("deleted_by")
deletedAt DateTime? @map("deleted_at")
@@map("dealers")
}
dealer-service.ts 文件
async create(createDealerDto: CreateDealerDto): Promise<Dealer> {
this.prismaService.dealer.create({ data: createDealerDto });
return this.prismaService.dealer.create({
data: createDealerDto,
});
}
会出现什么问题?如果我尝试在 dto 中使用字符串,错误消失了,但它没有保存为 JSON 对象,而是保存为字符串。
这里有一个示例解决方案
而不是直接传递它 DTO 是 Class 不是类型,typescript 甚至 prisma 都不会接受它。
所以你可以简单地使用这个解决方法
JSON.parse(JSON.stringify(data))
但是您需要确保验证传入的数据是否为数组类型,并为此添加约束