ITPub博客

首页 > > > 实用:优雅设计接口版本号

实用:优雅设计接口版本号

作者:jasonhsp 时间:2019-12-23 09:18:04 0 删除 编辑

作者:happyJared

来源:https://blog.mariojd.cn/how-to-design-spring-boot-api-version-number-elegantly.html

一般来说,系统上线以后,需求仍会发生变动,功能也会迭代更新。可能是接口参数发生变更,也有可能是业务逻辑需要调整,如果直接在原来的接口上进行修改,必然会影响原有服务的正常运行。

常见的解决方案,是在接口路径中加入版本号用于区分,此外还可以在参数甚至 header 里带上版本号。这里以在请求路径中带上版本号为例,如:http://IP:PORT/api/v1/test ,v1 即代表的是版本号。当然了,可以像这样,直接写死在 @RequestMapping("api/v1/test")属性中,不过下面提供了更为优雅的解决方案。

1.自定义版本号标记注解

2.重写相应的 RequestCondition

3.重写部分 RequestMappingHandlerMapping 的方法

4.配置注册自定义的 CustomRequestMappingHandlerMapping

5.编写接口,标记上相应的 @ApiVersion

6.启动 Application,测试及查看结果

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/615/viewspace-3152839/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-04-12

  • 博文量
    342
  • 访问量
    2726