管道 Pipes

导读

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

提示

WsException 类从 @nestjs/websockets 包中公开。

绑定管道

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

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