管道
常规管道与微服务管道(microservices pipes)在本质上没有区别。唯一的不同在于,微服务中不应抛出 HttpException,而是应该使用 RpcException。
提示
RpcException 类由 @nestjs/microservices 包提供。
绑定管道
下例演示了如何手动实例化一个方法作用域的管道。与基于 HTTP 的应用类似,你也可以使用控制器作用域的管道(即在控制器类前添加 @UsePipes() 装饰器)。
@UsePipes(new ValidationPipe({ exceptionFactory: (errors) => new RpcException(errors) }))
@MessagePattern({ cmd: 'sum' })
accumulate(data: number[]): number {
return (data || []).reduce((a, b) => a + b)
}