Skip to main content

管道

常规管道和WebSockets管道之间没有根本区别。 唯一的区别是,您应该使用WsException而不是HttpException来抛出异常。 此外,所有管道将仅应用于data参数(因为验证或转换client实例是无用的)。

tip

WsException类是从@nestjs/websockets软件包中公开的。

绑定管道

以下示例使用手动实例化的方法范围管道。 与基于HTTP的应用程序一样, 您还可以使用网关范围的管道(即,在网关类前加上@UsePipes()装饰器)。

@UsePipes(new ValidationPipe())
@SubscribeMessage('events')
handleEvent(client: Client, data: unknown): WsResponse<unknown> {
const event = 'events';
return { event, data };
}