我正在尝试创建DTO文件以转换值并保存文档。
export class CreateProductDto {
readonly pricing: {
readonly list: number;
}
}
async create(@Body() createProductDto: CreateProductDto) {
console.log(createProductDto);
console.log(createProductDto.pricing.list);
}
import * as mongoose from 'mongoose';
export const ProductSchema = new mongoose.Schema({
pricing: {
list: {
type: Number,
},
},
});
但是princing.list的值为undefined。
在NestJS中执行此操作的正确方法是什么?
请通过此documentation在您的情况下,您的dto将是
import { IsNumber, IsObject } from 'class-validator';
import { Type } from 'class-transformer';
export class ListDto {
@IsNumber()
readonly list: number
}
export class CreateProductDto {
@IsObject()
@ValidateNested() @Type(() => ListDto)
readonly pricing: ListDto
}
在您的main.ts中
import { ValidationPipe } from '@nestjs/common';
app.useGlobalPipes(new ValidationPipe());