1

我们如何从在 java 中嵌套消息的 protobuf 构建消息实例。

通过在 protobuf 的嵌套消息中设置根字段和字段并返回整个消息的实例来使用下面描述的 proto。

message Envelope {

  message quantity {
    optional string a = 1;
    optional string b = 2;
  }
  message quality {
    required string c = 1;
  }

  optional string e = 1;
}

在上面的消息中,我想通过在根处设置字段“e”并在嵌套消息中设置字段,如“数量”中的“a”、“b”和“质量”中的“c”来返回一个信封实例. 我怎样才能做到这一点 ?

4

1 回答 1

0

在您的 protobuf 定义中,您创建了 3 种消息类型,其中两种嵌套在另一种中。

这种嵌套只是关于命名空间。要将它们实际包含在 中Envelop,您应该编写:

message Envelope {

  message Quantity {
    optional string a = 1;
    optional string b = 2;
  }
  message Quality {
    required string c = 1;
  }

  optional string e = 1;
  optional Quantity quantity = 2;
  optional Quality quality = 3;
}
于 2019-07-09T16:42:02.637 回答