【发布时间】:2021-05-05 17:51:31
【问题描述】:
在我的 NestJs 应用程序中,我有两个实体:person.entity.ts 和 property.entity.ts,这两个实体通过 OneToMany 关系连接。我已经为人和财产创建了 DTO。
关系的拥有方在 Person 中定义如下:
@JoinColumn()
@OneToMany(
(type) => PersonProperties,
(personProperties) => personProperties.person,
{ cascade: ['insert', 'update'] },
)
personProperties: PersonProperties[];
用于发布新 Person 的控制器如下所示:
@Post()
async create(@Body() createPersonDto: CreatePersonDto) {
return this.personService.create(createPersonDto);
}
对于验证,我使用 Global ValidationPipes 如下:
async function bootstrap() {
const app = await NestFactory.create(AppModule);
app.useGlobalPipes(
new ValidationPipe({
whitelist: true,
forbidNonWhitelisted: true,
transform: true,
transformOptions: {
enableImplicitConversion: true,
},
}),
);
我应该如何修改我的代码,以便我可以通过单个请求发布(和验证)一个人及其属性?这不是将一个 DTO 包含在另一个 DTO 中吗?
【问题讨论】:
标签: nestjs