使用模块 @nestjs/swagger
简单类型的字段基本没问题,无非是使用一些模块的装饰器
对象类型的字段的描述就有点问题了
类型使用一个class,其中字段也同样需要像基本字段一样使用装饰器进行修饰
上代码
```
import { ApiProperty, ApiPropertyOptional } from "@nestjs/swagger";
export class LiveEventData {
@ApiPropertyOptional({ description: "直播商品ID列表" })
@IsOptional()
goods?: string[]
}
// 直播事件统计
export class LiveEventDto {
@ApiProperty({ description: "直播ID" })
@Length(1, 1000)
@IsString()
liveid: string
@ApiProperty({ description: "事件类型", enum: EnumLiveEvent })
@IsEnum(EnumLiveEvent)
type: EnumLiveEvent
@ApiPropertyOptional({ description: "事件数据", })
@IsOptional()
data?: LiveEventData;
}
```
其中 data 字段声明LiveEventData 类型,效果为
这样对接人员就很清楚数据结构了!!!