NodeJS gRPC:“预期但未提供的方法处理程序”
我翻阅了文档,还没有find解决scheme。 该应用程序松散地基于来自其文档的“sayHello”示例 ,但是每次代码运行Method handler for /eventComm.DatabaseRPC/InsertSingleDocument expected but not provided
的警告Method handler for /eventComm.DatabaseRPC/InsertSingleDocument expected but not provided
返回。
我的原始文件:
service DatabaseRPC { rpc InsertSingleDocument (Doc) returns (Doc) {} } message Doc { required string name = 1; required int32 id = 2; }
我的gRPC服务器:
function InsertSingleDocument (call, callback) { callback(null, { name: 'Hello ', id: 1 }) } let server = new grpc.Server() server.addProtoService(protoDef.DatabaseRPC.service, { InsertSingleDocument: InsertSingleDocument }) server.bind('0.0.0.0:50051', grpc.ServerCredentials.createInsecure()) server.start()
这个代码有什么问题? 当然,我已经试图谷歌错误,但没有find解决办法
为了符合JavaScript命名约定,方法应该提供小写的第一个字母:
server.addProtoService(protoDef.DatabaseRPC.service, { insertSingleDocument: InsertSingleDocument })
你可以在你链接的Hello World例子中看到这个。 该方法在proto文件中声明为SayHello
,但是以sayHello
forms传递给服务器。
注:我同意这是令人困惑的, 我会尽力改善这种情况 。