一个项目上线后,会根据不同的需求不断的进行更新和维护操作。有可能接口的请求也会发生改变,比如之前 /api/v1 ,后来随着业务变更,需要使用 /api/v9,但有些接口根本就无需变更,一样沿用即可。
如何做到一个接口多个版本可以动态适用呢?
一、自定义一个注解
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.springframework.web.bind.annotation.Mapping;
@Target({ElementType.METHOD,ElementType.TYPE})//用于方法和类上
@Retention(RetentionPolicy.RUNTIME)//运行时有效
@Documented //标识这是个注解并应该被 javadoc工具记录
@Mapping //标识映射
public @interface ApiVersion {
/**
* 标识版本号
* @return
*/
int value() default 1;//default 表示默认值
}