springMVC环境下给RESTFul API 添加版本控制之我见

  最近搞了一个基于SSM框架的项目,项目上线了,我也开始对框架进行一些改进工作,其中一项就是给springmvc框架下的RESTFul API添加版本控制,在这里记录一下我的实现思路以及性能调优过程。

 

  我使用的是spring-3.2.16版本,也是spring3的最后一个版本。

  我想要达到的版本控制效果如下:

  1.api版本定义在url中,采用${base}/api/v4/..的形式。

  2.api版本号通过注解进行定义。

  3.如果请求中不指定api版本号则返回最新版本。

  4.版本的自动适配,如果请求的api版本不存在,则返回低于请求版本的最新版本

 

  用过spingMVC的朋友都知道,你在controller中定义的方法,想要对外发布成api,用@RequestMapping这个注解就可以了,springMVC在系统启动时,扫描到注解后会将方法和我们定义的URI形成映射(见下图),当外部请求来的时候,通过一系列规则的匹配、校验,最终找到想要访问的方法或者返回空结果(貌似是句废话),这里为了实现上面的效果1,需要将版本信息发布到方法的URI上。

 

  springMVC的设计思想我比较了解,但是对于这个版本管理的需求一时不知道该从何下手,首先当然在网上搜一下已有的解决方案。然后还真的有相关的解决方案。

 

未完待续。

 

 

时隔4、5个月,思路已经忘却,已将代码开源至git.oschina。地址奉上:

http://git.oschina.net/hibug/SpringMVCZhiBanBenKongZhi

 

转载于:https://www.cnblogs.com/hibugs/p/6634304.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值