API版本管理(有源码、可运行)

本文只介绍两种,比较实用,也在工作中常见

一、整体方案描述如下图

二、统一版本管理

    1.方案,采用上图方案1;前后端需要同步代码的管理,增加版本号。后端可以在Controller层路径增加{version},

   2.优点:代码管理、实现简单; 缺点:相同URL无法搞多个方法实现;前端存在多个版本访问不支持。

三、多版本支持(API多个版本同时存在访问)

1.方案,上图两个方案都能实现,区别就是版本在 “URL”还是在“请求参数”中

2.优点:Api可以存在多个版本,相同路径;

四、代码实现

如下代码采用了路径带版本方式,支持了多版本API。

1.ApiVersion注解实现

@Target({ElementType.METHOD,ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Mapping
public @interface ApiVersion {

    double value() default 2.0;

}

2.ApiVersionCondition版本匹配实现(支持了版本号vd.d格式,如果其他格式需要改造)

@Data
public class ApiVersionCondition implements Re
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值