我正试着解决这个版本问题,我想请你帮忙:
假设这些请求是以JSON:
进行的顺便说一句,您决定在Android客户端应用版本2上,您将不再需要字段B
由于某些用户仍然存在Android客户端应用版本1,因此您无法从响应中获取字段B,这将使具有旧字段的较新Android客户端的响应变得混乱
对这些回复进行版本化的好方法是什么?
答案 0 :(得分:0)
处理服务器中的版本控制,并发送正确的响应 根据android客户端版本(或根据请求 客户端请求的模式版本
我会在服务器上处理版本控制。您不知道未来版本将引入哪些其他更改。
好吧,有点儿。如果客户端知道参数A而不是B,他将能够毫无问题地读取A.知道两者的客户将能够同时读取这两者。在任何一种情况下,客户端的行为都是正确的,唯一的问题是冗余参数(这可能会影响性能,但不会影响正确性)。protobuf版本控制在这种情况下有用吗?
还有其他建议吗?
让服务器将版本#1与版本#2区分开并发送适当的参数。您甚至可以为每个API版本设置单独的API。因此,V1客户端将连接到www.myapi.com/api/apiv1,而V2将连接到www.myapi.com/api/apiv2或类似的东西。