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

相关推荐
数据小馒头21 小时前
拒绝循环写库:MySQL 批量插入、Upsert 与跨表更新的高效写法
后端
子洋21 小时前
基于远程开发的大型前端项目实践
运维·前端·后端
Coder_Boy_1 天前
基于SpringAI的在线考试系统-企业级软件研发工程应用规范案例
java·运维·spring boot·软件工程·devops
indexsunny1 天前
互联网大厂Java面试实战:微服务、Spring Boot与Kafka在电商场景中的应用
java·spring boot·微服务·面试·kafka·电商
SUDO-11 天前
Spring Boot + Vue 2 的企业级 SaaS 多租户招聘管理系统
java·spring boot·求职招聘·sass
sheji34161 天前
【开题答辩全过程】以 基于spring boot的停车管理系统为例,包含答辩的问题和答案
java·spring boot·后端
源代码•宸1 天前
Leetcode—1266. 访问所有点的最小时间【简单】
开发语言·后端·算法·leetcode·职场和发展·golang
中年程序员一枚1 天前
多数据源的springboot进行动态连接方案
java·spring boot·后端
w***76551 天前
SpringBoot集成MQTT客户端
java·spring boot·后端
HABuo1 天前
【Linux进程(五)】进程地址空间深入剖析-->虚拟地址、物理地址、逻辑地址的区分
linux·运维·服务器·c语言·c++·后端·centos