文档: https://docs.nestjs.com/pipes
通俗的讲:Nestjs中的管道可以将输入数据转换为所需的输出。此外,它也可以处理验证,当数据不正确时可能会抛出异常。
1、创建管道
nest g pipe user
管道创建完成后生成如下代码:
import { ArgumentMetadata, Injectable, PipeTransform } from '@nestjs/common';
@Injectable()
export class UserPipe implements PipeTransform {
transform(value: any, metadata: ArgumentMetadata) {
//这个里面可以修改传入的值以及验证转入值的合法性
return value;
}
}
2、使用管道
import { Controller,Get,UsePipes,Query} from '@nestjs/common';
import {UserPipe} from '../../user.pipe';
@Controller('user')
export class UserController {
@Get()
index(){
return '用户页面';
}
@Get('pipe')
@UsePipes(new UserPipe())
pipe(@Query() info){
console.log(info);
return `this is Pipe`;
}
}