如何优雅实现restful接口的版本控制
网上看到目前rest api的版本控制主要有两种方式:1. url参数 2. 放入head中,那么对于这两种方式后端(spring框架)如何能优雅的实现? 难道就是每增一个版本就多写一个对应mapping的方法甚至controller,感觉这样代码会很冗余。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
twitter
https://stream.twitter.com/1.1/statuses/sample.json
google
https://accounts.google.com/o/oauth2/v2/auth
facebook
https://graph.facebook.com/v2.8/oauth/access_token
在URL中添加版本参数,
twitter/google/facebook...
都是这样来做的。这不够优雅吗?增加版本号就是为了接口能自然过度升级,这必然是需要冗余历史版本的代码。不过做法也有很多种。如果你是在一个应用中实现多版本的支持,那可以直接通过
DispatchServlet
来做servlet-mapping
中即可增加版本号path
。你也可以在后端部署多套不同版本的应用,根据请求地址将接口转发至不同版本的应用处理。