我正在一家公司,我们目前正在使用protobuf3(在我的情况下使用scalapb)进行大量的内部沟通。由于'required is forever'参数,此版本的protobuf取消了以前版本的optional
和required
标签。从协议的角度来看,我可以理解这个论点,但是当所有嵌套消息都包含在Option
中时,这至少给我们留下了一个序列化的结果,它远离我们的实际域模型。
简单而丑陋的恕我直言,只要在访问消息字段时执行myProto.myField.getOrElse {throw Exception("bla"}
,但我不希望在字段必须时将大量getOreElse
散布在我的代码库中在场。
我的问题是,是否有:
scalapb.descriptors.FieldDescriptor
映射到正确类型的实际值是不明显的。由于