简介
接口开发过程中,会出现一种场景,一个接口的也无需求因为种种原因需要重构,但是该接口可能在其他大量地方用过,如果重构势必引起其他地方异常,此时我们就可以在接口不变的情况下,给接口加上版本,那么重构就相当于把原来的接口再写一份,接口名相同只是版本号不同。
版本管理实现方案
特别注意:SpringMVC现有的功能已经满足我们接口版本控制的需求,无需重复造轮子。
即 对@RequestMapping,@RequestMapping,@GetMapping,@PutMapping等同类型注解的灵活运用即可实现版本管理。
详解:以@RequestMapping为例
方案一:URL直接添加版本
(1)、http://localhost:8080/multiversion/v1/print
(2)、
方案二:请求头加版本
前端添加请求头version
#Ajax方法中的beforeSend添加自定义请求头
$.ajax({
type:"post",
url:"http://localhost:8080/multiversion/source,
dataType:"json",
data:{},
beforeSend:function(xhr){
xhr.setRequestHeader("version", "v2");
},
success:function(data) {
$("#sign").val(data);
}
})
后端添加版本接口
特别注意:有些接口不同版本之间只有细微差别,此时可以在接口内部获取请求头,手动根据不同的版本做不同的业务处理