SpringBoot4中api版本控制

前言

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进行更改,而不会破坏与现有客户端的兼容性

相关推荐
薛定谔的悦4 小时前
MQTT通信协议业务层实现的完整开发流程
java·后端·mqtt·struts
enjoy嚣士4 小时前
springboot之Exel工具类
java·spring boot·后端·easyexcel·excel工具类
无限大65 小时前
职场逻辑03:3步搞定高效汇报,让领导看到你的价值
后端
盐水冰6 小时前
【烘焙坊项目】后端搭建(12) - 订单状态定时处理,来单提醒和顾客催单
java·后端·学习
紫丁香6 小时前
AutoGen详解一
后端·python·flask
小涛不学习6 小时前
Spring Boot 详解(从入门到原理)
java·spring boot·后端
Victor3568 小时前
MongoDB(51)什么是分片?
后端
Victor3568 小时前
MongoDB(50)副本集中的角色有哪些?
后端
daidaidaiyu8 小时前
Spring IOC 源码学习 声明式事务的入口点
java·spring
IT_陈寒8 小时前
JavaScript开发者必看:5个让你的代码性能翻倍的隐藏技巧
前端·人工智能·后端