0

我想知道如何在使用 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'
4

1 回答 1

1

您需要将副本添加到项目源中。Struct.proto 默认情况下不附带 protoc 编译器。

如果您有 protobuf 的完整源代码,则可以使用指向目录的-Iinclude 指令google/protobuf/从项目中引用它们。

于 2017-06-02T17:58:22.587 回答