【发布时间】:2020-03-30 08:31:48
【问题描述】:
我在 InfluxDB 前面有一个 NestJS API。在 API 中,我想通过来自 nestjs/swagger 的 ApiProptery 装饰器添加属性描述。
我的问题是我不知道如何为地图创建正确的描述。
这是我的模型:
import { Precision } from '../shared/enums';
import { IsEnum, IsInt, IsOptional } from 'class-validator';
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
import { IsPrimitive } from '../shared/decorator/decorators';
export class CreateMeasurementDto {
@IsOptional()
@IsInt()
@ApiPropertyOptional()
timestamp: number;
@IsOptional()
@IsEnum(Precision)
@ApiPropertyOptional({ enum: Precision })
precision: Precision;
@ApiProperty({
description:
'Key/value pairs; values can be of type string, boolean or number.',
type: Map,
})
@IsPrimitive()
datapoints: Map<string, string | boolean | number>;
}
我在 SwaggerUi 架构部分得到的是:
CreateMeasurementDto{
timestamp number
precision string
Enum:[ s, ms, u, ns ]
datapoints* Map {
}
}
我想至少给出一个例子或描述地图的一个元素。两者都很棒。
地图允许有字符串作为键,而值可以是字符串、布尔值或数字。
这是一个可能的有效载荷,可以接受:
{
"precision": "s",
"datapoints": {
"voltage": 123.6456,
"current": 123
}
}
【问题讨论】:
标签: json typescript swagger nestjs