热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

协议缓冲区:更改字段名称是否会中断消息?

如何解决《协议缓冲区:更改字段名称是否会中断消息?》经验,为你挑选了1个好方法。

使用协议缓冲区,更改消息的字段名称是否仍然允许它向后兼容?我找不到任何引用的东西.

例如:原始消息

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)提供的线式保持不变,但需要额外考虑是否,例如,改变uint32uint64安全从视图的应用程序代码的点和的"好"是更好的,简单地定义一个新的领域的一些定义.

如果使用该功能,更改字段名称将影响json表示.



1> Oleg Estekhi..:

更改字段名称不会影响protobuf编码或使用仅由字段名称不同的原型定义的应用程序之间的兼容性.

二进制protobuf编码基于标签号,因此您需要保留.

你甚至可以改变一个字段类型在一定程度上(在检查类型表https://developers.google.com/protocol-buffers/docs/encoding#structure)提供的线式保持不变,但需要额外考虑是否,例如,改变uint32uint64安全从视图的应用程序代码的点和的"好"是更好的,简单地定义一个新的领域的一些定义.

如果使用该功能,更改字段名称将影响json表示.


推荐阅读
author-avatar
淡定神仙2502891317
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有