代码拉取完成,页面将自动刷新
同步操作将从 恋曲1990/spring-boot-starter-version-mapping 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
- 通过此注解,自动为requestmappinginfo合并一个以版本号开头的路径;建议:大版本在类上配置,小版本可以通过配置在方法上,此时将替换类上面的大版本配置
- 通过此注解,可以通过接口header中的cv,terminal参数路由倒不同的处理方法(handler method,基于RequestMappingHandlerMapping中的getCustom**Condition方法扩展);
- 组合注解,实现了RequestMapping的功能,同时提供了上述两种注解的配置
业务场景:
@RequestMapping("/t")
@RestController
@ApiVersion("4")
public class TController {
//请求路径为/4/t/get
@RequestMapping(value="/get")
public String get1 (){
return "旧接口";
}
//请求路径为/4.1/t/get
@RequestMapping(value= "/get",params = "data=tree")
@ApiVersion("4.1")
//method的apiversion会优先于class上的,方便升级小版本
public String get2(){
return "新数据";
}
//以下三个请求路径都是/c,
//通过header里的客户端类型(如果是从url参数取,修改TerminalVersionExpression即可)以及版本号路由到不同方法
@GetMapping("/c")
@ClientVersion(expression = {"1>6.0.0"})
public String cvcheck1(){return "6.0.0以上版本的1类型";}
@GetMapping("/c")
@ClientVersion({@TerminalVersion(terminals = 2,op= VersionOperator.GT,version = "6.0.0")})
public String cvcheck2(){return "6.0.0以上版本的2类型";}
@GetMapping("/c")
@ClientVersion({@TerminalVersion(terminals = 2,op= VersionOperator.LTE,version = "6.0.0")})
public String cvcheck3(){return "6.0.0以下版本的2类型";}
public String c(){
return "aaaa";
}
}
@RestController
@VersionMapping(value="/t",apiVersion = "4")
public class TController {
@VersionMapping(value="a",terminalVersion = @TerminalVersion(terminals = 1,op = VersionOperator.EQ,version = "3.0"))
public String t(){
return "123";
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。