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

更改包装是否会使用protobuf破坏现有客户?

如何解决《更改包装是否会使用protobuf破坏现有客户?》经验,为你挑选了1个好方法。

如果我改变

syntax = "proto3";

package a.v0;

message HtmlStore{
    string html = 1;
}

syntax = "proto3";

package a;

message HtmlStore{
    string html = 1;
}

我有一个返回protobuf的python API。现有客户端正在使用该API。我想更改某些元素的protobuf定义,并且想知道它是否会破坏现有客户?



1> Marc Gravell..:

注意:如果您使用的是JSON编码,则所有选择均不适用。

如果您使用的是二进制编码,package通常不会有线格式的一部分- 除非您已使用此google.protobuf.Any功能。

因此,假设您还没有使用过Anypackage就发送的内容而言,更改将会完全不可见,并且不会影响任何人。

然而!如果他们收到.proto的更新版本并在其生成过程中运行代码生成,则其先前工作的代码可能会停止编译-要求他们.v0从引用这些类型的代码中删除。

电线上发送的唯一内容是字段号(在情况下为1 html),电线类型(在html- 情况下为长度前缀:电线类型2)和实际值。您还可以安全地重命名HtmlStorehtml(在相同条件下重命名Any)。


推荐阅读
  • gRPC框架学习:2、ProtocolBuffers学习文章目录gRPC框架学习:2、ProtocolBuffers学习1.前言2.定义消息类型(1). ... [详细]
  • 本文详细介绍了Java集合框架中的Collection体系,包括集合的基本概念及其与数组的区别。同时,深入探讨了Comparable和Comparator接口的区别,并分析了各种集合类的底层数据结构。最后,提供了如何根据需求选择合适的集合类的指导。 ... [详细]
  • Go语言开发中的常见陷阱与解决方案
    本文探讨了在使用Go语言开发过程中遇到的一些典型问题,包括Map遍历的不确定性、切片操作的潜在风险以及并发处理时的常见错误。通过具体案例分析,提供有效的解决策略。 ... [详细]
  • 力扣93:复原IP地址问题解析(Golang实现)
    本文探讨了力扣平台上的第93号问题——复原IP地址。该问题要求从给定的纯数字字符串中,通过添加分隔符‘.’来构建所有可能的有效IP地址。有效IP地址由四个介于0至255之间的整数组成,不允许出现前导零。 ... [详细]
  • Google ProtoBuf的使用
    Google的protobuf太好用了,又小,读写又快跑步快慢受鞋的影响太大了,但是造鞋的工具研究起来还是很有难度的,百度 ... [详细]
  • Go实战--golang中使用gRPC和Protobuf实现高性能api(golangprotobuf、google.golang.orggrpc),Go语言社区,Golang程序 ... [详细]
  • 体量|更多_初识protobuf ... [详细]
  • Python数据类型6 字典
    字典Python的字典数据类型是基于hash散列算法实现的,采用键值对(key:value)的形式,根据key的值计算value的地址,具有非常快的查取和插入速度。但它是无序的,包 ... [详细]
  • EasyMock实战指南
    本文介绍了如何使用EasyMock进行单元测试,特别是当测试对象的合作者依赖于外部资源或尚未实现时。通过具体的示例,展示了EasyMock在模拟对象行为方面的强大功能。 ... [详细]
  • 本文深入探讨了JavaScript中实现继承的四种常见方法,包括原型链继承、构造函数继承、组合继承和寄生组合继承。对于正在学习或从事Web前端开发的技术人员来说,理解这些继承模式对于提高代码质量和维护性至关重要。 ... [详细]
  • 本文探讨了Web开发与游戏开发之间的主要区别,旨在帮助开发者更好地理解两种开发领域的特性和需求。文章基于作者的实际经验和网络资料整理而成。 ... [详细]
  • Java Servlet中获取客户端IP与MAC地址的方法
    本文介绍了一种在Java Servlet应用中获取客户端IP地址及MAC地址的技术实现方法,通过示例代码详细解析了获取过程中的关键步骤和技术点。 ... [详细]
  • Java EE CDI:解决依赖关系冲突的实例
    在本教程中,我们将探讨如何在Java EE的CDI(上下文和依赖注入)框架中有效解决依赖关系的冲突问题。通过学习如何使用限定符,您将能够为应用程序的不同客户端提供多种接口实现,并确保每个客户端都能正确调用其所需的实现。 ... [详细]
  • 深入理解设计模式之观察者模式
    本文详细介绍了观察者模式,这是一种行为设计模式,适用于当对象状态发生变化时,需要通知其他相关对象的场景。文中不仅解释了观察者模式的基本概念,还通过Java代码示例展示了其实现方法。 ... [详细]
  • 谷歌宣布在 Kotlin 中支持 Protocol Buffers 数据格式
    谷,歌,宣布,在,kotlin,中,支持,protocol,buf ... [详细]
author-avatar
何博弘朗
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有