守卫 Guards

导读

微服务守卫和 常规 HTTP 应用程序守卫 之间没有根本区别。 唯一的区别是,您不应抛出 HttpException,而应使用 RpcException

提示

RpcException 类从 @nestjs/microservices 包中公开。

绑定守卫

以下示例使用方法范围的守卫。与基于 HTTP 的应用程序一样,您也可以使用控制器范围的守卫(即,在控制器类前面加上 @UseGuards() 装饰器)。

ts
ts
@UseGuards(AuthGuard)
@MessagePattern({ cmd: 'sum' })
accumulate(data: number[]): number {
  return (data || []).reduce((a, b) => a + b);
}