小编Rus*_*Joe的帖子

NestJS ValidationPipe 对于 @Query() 无法正常工作

我正在尝试使用内置 NestJS ValidationPipe 将一些查询参数从字符串转换为整数,但它似乎无法正常工作,

这是我的控制器:

import {
..., ValidationPipe
} from '@nestjs/common';

...

@UseGuards(JwtAuthGuard)
@Get()
findAll(@Req() req, @Query(new ValidationPipe({
    transform: true,
    transformOptions: { enableImplicitConversion: true },
    forbidNonWhitelisted: true,
})) query: GetTestDto) {
    return this.testService.findAll(query, req.user.id);
}
Run Code Online (Sandbox Code Playgroud)

这是我的 DTO :

import { IsInt, IsOptional, IsString } from 'class-validator';
import { Transform } from 'class-transformer';

export class GetTestDto {
    @IsOptional()
    @IsString()
    public search: string;

    @IsOptional()
    @Transform(({value}) => {
        console.log(typeof value); // => string / I'm just testing here
        return value
    })
    @IsInt() …
Run Code Online (Sandbox Code Playgroud)

javascript dto node.js nestjs

3
推荐指数
1
解决办法
2407
查看次数

标签 统计

dto ×1

javascript ×1

nestjs ×1

node.js ×1