近日使用gRpc + protobuf做网关时有一动态请求的需求,由于兼容业务限制,需要请求前就通过注册时的信息,收集到服务方proto中的字段代表,例如0代表name,1代表age,
在请求时,通过这些信息再反序列化为 protobuf Descriptor 发起请求,
经过研究 protobuf中有三类数据类型,一类是长江的int、string,一类是messageType 即我们自定义的类,还有一类是enumType 即枚举,将这三类的关键信息收集起来,即可满足需求。
序列化为json字符串存储过程:
反序列化为 Descriptors.Descriptor 过程:
demo源代码地址:GitHub - qiaomengnan16/protobuf-demo