Nestjs IsEnum dto 验证和招摇
Nestjs IsEnum dto validation and swagger
这工作正常:
import { IsIn } from 'class-validator';
import { ApiProperty } from '@nestjs/swagger';
export class createEventDto {
@IsIn([0, 1, 2, 3, 4, 5])
@ApiProperty({
description: 'description of the severity property',
})
severity: number;
}
并且大摇大摆地看起来像这样:
我试图了解如何将严重性类型更改为枚举,我已经尝试过:
export enum Severity {
Critical = 1,
Major = 2,
Minor = 3,
Warning = 2,
Info = 1,
Clear = 0,
}
import { IsEnum } from 'class-validator';
import { ApiProperty } from '@nestjs/swagger';
import { Severity} from '../enums/severities';
export class createEventDto {
@IsEnum(Severity)
@ApiProperty({
description: 'description of the severity property',
})
severity: Severity;
}
虽然它在工作,但 swagger 看起来有点不对劲(示例不正确,模式中对严重性的描述嵌套在括号中:
如果你想在SwaggerUI上表达一个枚举,你需要提供enum
属性给ApiProperty
装饰器
import { IsEnum } from 'class-validator';
import { ApiProperty } from '@nestjs/swagger';
import { Severity} from '../enums/severities';
export class createEventDto {
@IsEnum(Severity)
@ApiProperty({
description: 'description of the severity property',
enum: Severity
})
severity: Severity;
}
这工作正常:
import { IsIn } from 'class-validator';
import { ApiProperty } from '@nestjs/swagger';
export class createEventDto {
@IsIn([0, 1, 2, 3, 4, 5])
@ApiProperty({
description: 'description of the severity property',
})
severity: number;
}
并且大摇大摆地看起来像这样:
我试图了解如何将严重性类型更改为枚举,我已经尝试过:
export enum Severity {
Critical = 1,
Major = 2,
Minor = 3,
Warning = 2,
Info = 1,
Clear = 0,
}
import { IsEnum } from 'class-validator';
import { ApiProperty } from '@nestjs/swagger';
import { Severity} from '../enums/severities';
export class createEventDto {
@IsEnum(Severity)
@ApiProperty({
description: 'description of the severity property',
})
severity: Severity;
}
虽然它在工作,但 swagger 看起来有点不对劲(示例不正确,模式中对严重性的描述嵌套在括号中:
如果你想在SwaggerUI上表达一个枚举,你需要提供enum
属性给ApiProperty
装饰器
import { IsEnum } from 'class-validator';
import { ApiProperty } from '@nestjs/swagger';
import { Severity} from '../enums/severities';
export class createEventDto {
@IsEnum(Severity)
@ApiProperty({
description: 'description of the severity property',
enum: Severity
})
severity: Severity;
}