作者:淡定神仙2502891317 | 来源:互联网 | 2023-01-27 12:53
使用协议缓冲区,更改消息的字段名称是否仍然允许它向后兼容?我找不到任何引用的东西.
例如:原始消息
message Person {
required string name = 1;
required int32 id = 2;
optional string email = 3;
}
改成:
message Person {
required string full_name = 1;
required int32 id = 2;
optional string email = 3;
}
Oleg Estekhi..
25
更改字段名称不会影响protobuf编码或使用仅由字段名称不同的原型定义的应用程序之间的兼容性.
二进制protobuf编码基于标签号,因此您需要保留.
你甚至可以改变一个字段类型在一定程度上(在检查类型表https://developers.google.com/protocol-buffers/docs/encoding#structure)提供的线式保持不变,但需要额外考虑是否,例如,改变uint32
到uint64
安全从视图的应用程序代码的点和的"好"是更好的,简单地定义一个新的领域的一些定义.
如果使用该功能,更改字段名称将影响json表示.
1> Oleg Estekhi..:
更改字段名称不会影响protobuf编码或使用仅由字段名称不同的原型定义的应用程序之间的兼容性.
二进制protobuf编码基于标签号,因此您需要保留.
你甚至可以改变一个字段类型在一定程度上(在检查类型表https://developers.google.com/protocol-buffers/docs/encoding#structure)提供的线式保持不变,但需要额外考虑是否,例如,改变uint32
到uint64
安全从视图的应用程序代码的点和的"好"是更好的,简单地定义一个新的领域的一些定义.
如果使用该功能,更改字段名称将影响json表示.