Swagger请求体格式对于Nest中的嵌套数据结构不能很好地工作

k4aesqcs  于 2023-04-06  发布在  其他
关注(0)|答案(1)|浏览(127)

我正在使用NestJS创建API,并使用swagger制作api文档。以下代码片段显示了我的dto定义。

export class CreateWoopDto {
  @ApiProperty()
  @IsUUID()
  user_id: string;

  @ApiProperty()
  @ValidateNested({ each: true })
  @Type(() => WoopStatementDto)
  @IsArray()
  content: WoopStatementDto[];
}

export class WoopStatementDto {
  @ApiProperty()
  @IsString()
  if: string;

  @ApiProperty()
  @IsString()
  then: string;
}

在我的POST/ createWoop端点中,我正在使用这个Dto,在我的swagger文档中,这个端点的请求体格式没有像我预期的那样工作。

如何在此处以正确的格式显示内容字段?

sdnqo3pr

sdnqo3pr1#

你应该像这样声明content

@ApiProperty({ type: [WoopStatementDto] })
  // @ApiProperty({ type: WoopStatementDto, isArray: true }) 
  @ValidateNested({ each: true })
  @Type(() => WoopStatementDto)
  @IsArray()
  content: WoopStatementDto[];

相关问题