文档: 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`; } }