import { IsInt, IsOptional, Min, } from 'class-validator'; import { Expose, Transform } from 'class-transformer'; export class PagePostDto { @IsOptional() @IsInt() @Min(0) @Expose() limit: number; @IsOptional() @IsInt() @Min(1) @Expose() page: number; } /** * 由于query获取的参数只能为string,所以要区分开 */ export class PageGetDto { @IsOptional() @IsInt() @Min(1) @Transform(v => { const parsed = parseInt(v.value, 10); return isNaN(parsed) ? 10 : parsed; // 默认值为 10 }, { toClassOnly: true }) @Expose() pageSize: number; @IsOptional() @IsInt() @Min(1) @Transform(v => { const parsed = parseInt(v.value, 10); return isNaN(parsed) ? 1 : parsed; // 默认值为 1 }, { toClassOnly: true }) @Expose() current: number; }