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

相关推荐
道友可好7 分钟前
写给 AI 的入职手册,AGENTS.md
前端·人工智能·后端
sandnes22 分钟前
把ToolUse循环做到生产级-错误处理与可靠性五件套
后端
掘金者阿豪32 分钟前
全维度拆解具身智能:底层技术 + 实战落地 + 全球产业竞争
后端
霸道流氓气质35 分钟前
Spring AI Alibaba Skills 完整实战:从零构建智能会议助手
java·人工智能·spring
秋天的一阵风36 分钟前
✨ 代码秒跳转、自动补全?全靠 LSP 和 AST!
前端·后端·ai编程
小楊不秃头1 小时前
Spring:Bean的存储
java·spring·bean
用户298698530141 小时前
Java 中的 HTML 解析:从文件读取、URL 抓取到数据提取
java·后端
AskHarries1 小时前
ZJF.AI:简单、稳定、免费的图片托管与外链分享平台
后端
百珏1 小时前
流量没暴涨,网关却挂了:Spring Cloud Gateway 从 500 QPS 优化到 4200 QPS
后端·spring cloud·架构
ICT系统集成阿祥1 小时前
什么是AI ECN?
后端