作者:元辉5678_915 | 来源:互联网 | 2023-05-19 12:35
我正在尝试使用Google protobuf,我正在进行下一个描述:
message.proto文件:
message Request {
required int32 id = 1;
optional string value = 2;
}
service.proto文件:
import "message.proto";
service Service {
rpc request (Request) returns (bool);
}
我正在尝试生成c ++源代码并收到错误:
$ protoc service.proto --cpp_out =/tmp/proto/build
service.proto:4:40:预期的消息类型.
我是否必须仅返回用户定义的类型?是原始的(像bool
或string
)支持?我可以使用原始类型作为服务方法参数(而不是Request
在我的示例中)吗?
1> Kenton Varda..:
不,您不能将原始类型用作请求或响应.您必须使用消息类型.
这很重要,因为如果您决定要添加新参数或返回一些其他数据,可以稍后扩展消息类型.