【问题标题】:NestJS gRPC MiddlwareNestJS gRPC 中间件
【发布时间】:2021-08-08 06:20:46
【问题描述】:

NestJS 是否支持带有 gRPC 的中间件?我正在关注示例项目here,然后是用于记录请求入口点here的中间件。

在示例项目中,看起来除了 gRPC 服务器还有一个 Express 服务器。我只使用 gRPC 服务器。

const app = await NestFactory.createMicroservice<MicroserviceOptions>(...);
await app.listenAsync();

所以将以下内容添加到主应用程序模块中:

export class AppModule implements NestModule {
  configure(consumer: MiddlewareConsumer) {
    consumer
      .apply(LoggerMiddleware)
      .forRoutes('*');
  }
}

但没有任何记录。

【问题讨论】:

    标签: nestjs grpc


    【解决方案1】:

    中间件是 HTTP 处理程序独有的。如果您需要类似中间件的功能,最好使用 Nest 的增强器之一(guardsinterceptorspipesfilters)。如果您要进行一些日志记录,我建议您使用 intereptor,因为您具有控制器前和控制器后逻辑。

    还有我的日志库Ogma,它已经有一个 Nest 包和拦截器,可能对查看很有用

    【讨论】:

      猜你喜欢
      • 2021-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-06
      • 2020-10-10
      • 2022-11-25
      • 2020-05-29
      相关资源
      最近更新 更多