泛化接口调用方式主要用于客户端没有 API 接口及模型类元的情况,参考 泛化调用。 一般泛化调用只能用于生成的服务参数为POJO的情况,而 GoogleProtobuf 的对象是基于 Builder 生成的非正常POJO,可以通过 protobuf-json 泛化调用。
GoogleProtobuf 序列化相关的Demo可以参考 protobuf-demo
在 Spring 中配置声明 generic = “protobuf-json”
在 Java 代码获取 barService 并开始泛化调用:
GoogleProtobuf 对象是由 Protocol 契约生成,相关知识请参考 ProtocolBuffers 文档。假如有如下Protobuf 契约
则对应请求按照如下方法构造
Google Protobuf 对象缺少标准的 JSON 格式,生成的服务元数据信息存在错误。请添加如下依赖元数据解析的依赖。
从服务元数据中也可以比较容易构建泛化调用对象。