如何创建NestJs grpc客户端

编程入门 行业动态 更新时间:2024-10-10 06:20:42

如何创建NestJs grpc<a href=https://www.elefans.com/category/jswz/34/1771403.html style=客户端"/>

如何创建NestJs grpc客户端

正在尝试在docker env上创建NestJs gRPC客户端,但是在编译时我总是会收到此错误

[Nest] 1076   - 2020-05-19 23:59:34   [ClientProxy] The invalid gRPC package (package not found)
Error: The invalid gRPC package (package not found)
    at ClientGrpcProxy.createClients (/app/node_modules/@nestjs/microservices/client/client-grpc.js:188:45)
    at new ClientGrpcProxy (/app/node_modules/@nestjs/microservices/client/client-grpc.js:26:33)
    at Function.create (/app/node_modules/@nestjs/microservices/client/client-proxy-factory.js:22:24)
    at clients.map.item (/app/node_modules/@nestjs/microservices/module/clients.module.js:11:51)
    at Array.map (<anonymous>)
    at Function.register (/app/node_modules/@nestjs/microservices/module/clients.module.js:9:41)
    at Object.<anonymous> (/app/dist/src/modules/orders/orders.module.js:31:43)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)
/app/node_modules/@nestjs/microservices/client/client-grpc.js:190
                throw invalidPackageError;
                ^

Error: The invalid gRPC package (package not found)
    at ClientGrpcProxy.createClients (/app/node_modules/@nestjs/microservices/client/client-grpc.js:188:45)
    at new ClientGrpcProxy (/app/node_modules/@nestjs/microservices/client/client-grpc.js:26:33)
    at Function.create (/app/node_modules/@nestjs/microservices/client/client-proxy-factory.js:22:24)
    at clients.map.item (/app/node_modules/@nestjs/microservices/module/clients.module.js:11:51)
    at Array.map (<anonymous>)
    at Function.register (/app/node_modules/@nestjs/microservices/module/clients.module.js:9:41)
    at Object.<anonymous> (/app/dist/src/modules/orders/orders.module.js:31:43)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)

我已经尝试重新安装软件包(gRPC,@ grpc / proto-loader和@ nestjs / microservices),

尝试使用文档中提供的两种方法时遇到此问题

<< [第一个方法和@Client装饰器

@Client({ transport: Transport.GRPC, options: { package: 'app', protoPath: join(__dirname, '../../../../../../src/modules/orders/proto/app.proto'), }, }) private client : ClientGrpc private grpcService: IGrpcService; onModuleInit(){ this.grpcService= this.client.getService<IGrpcService>('AppController') }

第二种方法

在appmodule.ts中使用ClientModuleClientsModule.register([{ name:'TEST', transport: Transport.GRPC, options: { package: 'app', protoPath: join(__dirname, '../../../../src/modules/orders/proto/app.proto'), }, }])

原始文件

syntax = "proto3"; package role; service RoleService { rpc CheckPermission (StringMessage) returns (BooleanPayload) {} rpc AddPolicy (StringMessage) returns (BooleanPayload) {} } message StringMessage { repeated string params = 1; } message Role { string id = 1; string codeName = 2; string label = 3; string createdAt = 4; string updatedAt = 5; } message BooleanPayload { bool success = 1; } 回答如下:我已修复它,问题出在我的原始文件包和服务中,我已将其更改为在使用它时控制器的名称。

更多推荐

如何创建NestJs grpc客户端

本文发布于:2024-05-07 21:19:21,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1757302.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:客户端   NestJs   grpc

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!