我想知道如何使用Node.js在我的gRPC实现中表示可变大小的JSON结构。我有一个grpc服务和一条消息,我希望收到以下结构:
{
"Key": "Value",
"Nested": { ... }
}
这是我的定义:
syntax = "proto3";
service Users {
rpc RetrieveMeta (RetrieveMetaRequest) returns (RetrieveMetaResponse) {}
rpc UpdateMeta (UpdateMetaRequest) returns (UpdateMetaResponse) {}
}
message RetrieveMetaRequest {
}
message RetrieveMetaResponse {
}
我已经读过你可以通过导入结构定义来实现,但是当我这样做时,我得到一个文件未找到错误,因为它在当前目录中执行查找:
import "google/protobuf/struct.proto";
抛出:
Users/ddibiase-macbook/Projects/dfx-api/node_modules/protobufjs/dist/protobuf.js:4720
throw Error("failed to import '"+importFilename+"' in '"+filename+"': file not found");
^
Error: failed to import '/Users/ddibiase-macbook/Projects/dfx-api/protos/struct.proto'
答案 0 :(得分:1)
您需要将副本添加到项目源。默认情况下,Struct.proto不附带protoc编译器。
如果您拥有protobuf的完整源代码,则可以使用指向google/protobuf/
目录的-I
include指令从项目中引用它们。