日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

springboot多版本管理

作者:yigg 更新時間: 2022-05-11 編程語言

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

  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

原文鏈接:https://blog.csdn.net/yiguang_820/article/details/124691943

欄目分類
最近更新