前言
Springboot4版本已经于这个11月发布了正式版本,更新了一堆新属性,其中有一个是api版本控制
api版本控制
Springboot4支持在请求注解中加上version
typescript
@Slf4j
@RestController
public class IndexController {
@GetMapping(version = "1")
public String hello() {
log.info("hello");
return "hello";
}
@GetMapping(version = "2")
public void sayHello() {
log.info("sayHello======================");
}
@GetMapping("/test")
public void sayHello1() {
log.info("sayHello======================");
User user = User.builder().id(1L).name("aaa").build();
log.error(JsonMapper.builder().build().writeValueAsString(user));
}
}
单独启动会报错
需要加个配置
typescript
@Configuration
public class ApiVersionConfig implements WebMvcConfigurer {
// 配置版本策略
@Override
public void configureApiVersioning(ApiVersionConfigurer configurer) {
configurer.setVersionRequired(false)
.useQueryParam("version");
}
}
这样就能访问
ini
http://ip:端口/?version=1
输出结果为

ini
http://ip:端口/?version=2


总结
通过 API 版本控制,你可以对API进行更改,而不会破坏与现有客户端的兼容性