管道是具有injectable装饰器的类,管道应实现pipeTransform接口。
管道的使用场景:
1、转换:管道将输入数据转换为所需的数据输出(例如将字符串转换为整数)
2、验证:对输入数据进行验证、如果验证成功继续传递验证失败抛出异常;
管道定义
通过装饰器injectable装饰器创建的类,类实现了pipeTransform接口里面的transform方法,
transform方法接收俩个参数,一个是要处理的值,一个是当前处理的方法参数的元数据
管道用法
1、与特定的路由处理程序相关连
2、UsePipes装饰器使用
对象结构验证
1、定义对象结构
2、使用joi对象结构数据验证
3、绑定验证
类验证器
1、给类添加装饰器(通过class-validator)
2、编写自定义类验证器
3、绑定类验证器管道
全局管道
放在主模块中声明依赖(推荐做法)