我的项目假设Proto3对象作为输入。但是,有时用户会提供Proto2对象作为输入。在这些情况下,我们希望抛出异常,因为我们的代码只与Proto3类一起工作。
我们如何检查提供的输入Protobuf对象是Proto2还是Proto3?
检查方法是否存在或缺省值是一种黑客行为。有没有合适的方法来检查Protobuf对象的版本?
发布于 2017-09-21 14:48:19
我找到了答案:
proto_verison = protobufObject.getDescriptorForType().getFile().getSyntax().name()检查其是否为"PROTO3“
发布于 2017-09-21 14:20:22
需要在.proto文件中定义您的协议格式。.proto文件以
syntax = "proto3";https://stackoverflow.com/questions/46316439
复制相似问题