java api 版本控制_API接口版本控制

本文探讨了在APP接口开发中实施API版本控制的重要性,包括设计原因、数据库及接口设计、升级状况分析以及实现方案。针对不同版本的升级需求,如非强制升级和强制升级,提出了版本管理和接口变化的策略。推荐的实现方式是在每个接口中添加版本参数,以确保接口之间的独立性和易于维护。
摘要由CSDN通过智能技术生成

1    设计原因

APP接口的开发不同于PC WEB的开发,APP会经常的版本迭代,不同版本的APP接口可以同时使用,老版本的APP和新版APP可以同时使用,为了便于维护和管理,就有必要设计好APP接口的管理策略。

2    数据库及接口设计

数据库包含字段:app版本号、更新内容、是否强制更新。

接口传递的参数:app版本号。

3    升级状况

3.1    升级接口

AppStore不支持强制升级,后台必须提供升级接口。

3.2    渠道

App可能分多个渠道进行推广,比如AppStore, 越狱版本等等。 那种渠道的版本升级很可能不同。

3.3    强制升级

版本升级中,一些版本需要强制升级到高版本。

比如, V3--->V4->>>V5--->V6。 V3可以选择性的升级到V4,V4必须升级到V5,V5可以选择性的升级到V6。

如果服务器的接口只提供最新版本的版本号和是否强制升级标识(由运营设置),然后由客户端来比较是否要升级。 如果最新版本是V5, 那么是没有什么问题的。

但是如果最新版本已经到V6,而某个客户还停留在V3或者V4。那么如果不强制升级的话,可能就有很大的问题。

3.4    接口升级变化

3.4.1    接口变化

接口不可能一成不变,在不停迭代中,总会发生变化。接口的变化一般会有几种:

数据的变化,比如增加了旧版本不支持的数据类型

参数的变化,比如新增了参数

接口的废弃,不再使用该接口了

3.4.2    大小版本更新

大版本更新(之前接口需要大量修改时叫做大版本更新,之前接口实在用不了了才会进行大版本更新):大版本更新时,需要把接口所在文档重新创建(相当于重新创建一个新的APP应用),使得其不同大版本之间接口相互独立,更易维护。

小版本更新(对接口的小范围修改及新增叫做小版本更新):小版本更新时,需要在每个修改的接口中进行版本号判断,从而进行不同的分发。

4    实现方案

为了解决升级遇到的问题。一般的实现方案分为两种。

每个接口有各自的版本,一般为接口添加个version的参数。比如将version加到header中。

整个接口系统有统一的版本,一般在URL中添加版本号,比如http://api.gateway/v1。

推荐使用第一种,第二种通过nginx路由需要多套生产环境。

————————————————

版权声明:本文为CSDN博主「xixingzhe2」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/xixingzhe2/article/details/82826160

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值