Proto3 表示嵌套 JSON 结构
Proto3 representing nested JSON structure
我想知道如何在我的 gRPC 实现中使用 Node.js 表示可变大小 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'
您需要向您的项目源添加一个副本。 Struct.proto 默认情况下不附带 protoc 编译器。
如果您拥有 protobuf 的完整源代码,您可以使用指向 google/protobuf/
目录的 -I
include 指令从您的项目中引用它们。
我想知道如何在我的 gRPC 实现中使用 Node.js 表示可变大小 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'
您需要向您的项目源添加一个副本。 Struct.proto 默认情况下不附带 protoc 编译器。
如果您拥有 protobuf 的完整源代码,您可以使用指向 google/protobuf/
目录的 -I
include 指令从您的项目中引用它们。