bac*_*car 13 backwards-compatibility protocol-buffers
我有一个客户端 - 服务器应用程序,其中服务器将protobuf格式的序列化对象传输到客户端,我想退出一个required字段.不幸的是,我无法同时更改客户端和服务器以使用新.proto定义.
如果我更改一个required字段optional,但仅用于序列化消息的代码(即反序列化代码尚未重建并仍然认为它是一个required字段),我可以继续发布可以反序列化的消息,只要我填充一个值为现在optional?
(看起来这样做很好,至少对于我尝试过的一些微不足道的案例(仅使用Java),但我很感兴趣,如果这是一个普遍合理的方法,是否有任何边缘情况等我应该担心).
动机:我的目标是required在客户端 - 服务器应用程序中淘汰字段,其中服务器发布由客户端反序列化的消息.我的打算是:
required字段更改optional为主干.| 归档时间: |
|
| 查看次数: |
5529 次 |
| 最近记录: |