维护restful api的版本的最佳方式
请问大家在维护接口版本时使用的方式一般是URI的方式还是使用header的方式?
另外:比如某一个controller下有版本1的接口也有版本2的更新接口,那这样这个API项目会不会变得越来越臃肿呢?有没有什么好的设计方式呢,多谢大家 :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
两种方式都用过,说说利弊吧
1.URI中带版本号的方式访问 如 /v1/user/1
好处就是可以写成多个controller 方便管理和维护,坏处就是第一前端麻烦,api升级之后还需要更改地址,第二代码存在冗余,在功能可能重叠的情况下可能会写出一些重复代码
2.head带版本号的方式
对于客户端来说调用更方便,所有api接口的地址都不改动,只需要更改自身版本号即可访问新的接口,坏处就是做兼容性有一点麻烦。
推荐的做法是两种一起用,对外的API地址一直保持不变,做一个类似转发器(我直接用的spring的interceptor进行拦截请求),然后内部api还是按照版本写成不同的地址和controller,方便维护和管理