/api-version-control

SpringWeb接口版本控制工具

Primary LanguageJava

ApiVersionControl -- SpringWeb接口版本控制工具

通过header中的版本字段,控制访问的接口,用于版本发布时向下兼容

Installation

<dependency>
    <groupId>com.lyw</groupId>
    <artifactId>api-version-control</artifactId>
    <version>1.0.0</version>
</dependency>

Use

@RestController
public class Controller {

    @RequestMapping("/version")
    @VersionedApi(name = "version", from = "2.0.1", to = "2.1.4")
    public String v1() {
        return "v1";
    }

    @RequestMapping("/version")
    @VersionedApi(name = "version", from = "2.1.5", to = "2.2.0")
    public String v2() {
        return "v2";
    }

}
name是header中的版本key名,必须指定
版本字符串可以是*.**.*...形式,每一段可以是多个数字,如2.54.3.156
Request Headers若不包含version字段,默认走最高版本接口
包含version字段,如version=2.1.7,则匹配版本范围,选择v2()接口
搞Spring就是逊啦