springboot多版本管理

达到的版本控制效果如下:

  1.api版本定义在url中,采用/api/项目名/pro/v4/接口名 的形式。

  2.api版本号通过注解进行定义。

  3.如果请求中不指定api版本号则返回最新版本。

  4.版本的自动适配,如果请求的api版本不存在,则返回低于请求版本的最新版本。

方式一

这篇博客提供了版本控制的几种方式,有参考性

从API版本控制说起,实现SpringBoot 一种版本控制的方式(上篇)_panaimin的博客-CSDN博客

方式二 SpringBoot API增加version版本号

SpringBoot API增加version版本号_一只懒惰的程序猿的博客-CSDN博客_springboot接口版本号

方式三

简单地使用继承:

版本1Controller.java

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@RequestMapping("v1/")
public class Version1Controller {

    @ResponseBody
    @RequestMapping("foo")
    public String foo() {
        return "Foo 1";
    }

    @ResponseBody
    @RequestMapping("bar")
    public String bar() {
        return "bar 1";
    }
}

版本2Controller.java

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@RequestMapping({ "v2/", "latest/" })
public class Version2Controller extends Version1Controller {

    @Override
    @ResponseBody
    @RequestMapping("bar")
    public String bar() {
        return "bar 2";
    }

}

在这里,您将映射以下URL:

  • v1/foo -返回“ Foo 1”
  • v2/foo -返回“ Foo 1”-从版本1继承
  • v1/bar -返回“第1条”
  • v2/bar -返回“条2”-从版本1覆盖行为。
  • latest/foo – 如同 v2/foo
  • latest/bar – 如同 v2/bar
    原文作者:yigg
    原文地址: https://blog.csdn.net/yiguang_820/article/details/124691943
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞