网上看到目前rest api的版本控制主要有两种方式:1. url参数 2. 放入head中,那么对于这两种方式后端(spring框架)如何能优雅的实现? 难道就是每增一个版本就多写一个对应mapping的方法甚至controller,感觉这样代码会很冗余。
网上看到目前rest api的版本控制主要有两种方式:1. url参数 2. 放入head中,那么对于这两种方式后端(spring框架)如何能优雅的实现? 难道就是每增一个版本就多写一个对应mapping的方法甚至controller,感觉这样代码会很冗余。
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
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
。你也可以在后端部署多套不同版本的应用,根据请求地址将接口转发至不同版本的应用处理。