NestJS Logo
NestJS 中文文档
v10.0.0
  • 介绍
  • 快速上手
  • 控制器
  • 提供者
  • 模块
  • 中间件
  • 异常过滤器
  • 管道
  • 守卫
  • 拦截器
  • 自定义装饰器
  • 自定义提供者
  • 异步提供者
  • 动态模块
  • 依赖注入作用域
  • 循环依赖
  • 模块引用
  • 懒加载模块
  • 执行上下文
  • 生命周期事件
  • 发现服务
  • 跨平台无关性
  • 测试
迁移指南
API 参考
官方课程
  1. 文档
  2. 微服务架构
  3. 守卫

守卫

微服务中的守卫与常规 HTTP 应用的守卫在本质上没有区别。 唯一的不同在于,这里不应抛出 HttpException,而是应使用 RpcException。

提示

RpcException 类由 @nestjs/microservices 包提供。

绑定守卫

下例演示了方法作用域的守卫。与基于 HTTP 的应用一样,你也可以使用控制器作用域的守卫(即在控制器类前加上 @UseGuards() 装饰器)。

@UseGuards(AuthGuard)
@MessagePattern({ cmd: 'sum' })
accumulate(data: number[]): number {
  return (data || []).reduce((a, b) => a + b)
}
管道
拦截器