自己没正式的搞过 api 不知道也不了解其中的定义规范:
app/controllers/api/v1/xxx_controller.rb app/views/api/v1/xxxs/show.html.erb .......
这里为什么指定让定义成 V1,V2 之类的,定义成这样的有什么特殊的说法的用意吗?
区分版本。以后更新升级影响之前的接口的话 可以保证老版本的 api 不受影响
#1 楼 @hging 我可不可以这样理解:如果版本 2 有新加的 api 可以直接在 V2 上添加新加的 api 就行了,没有改动的 api 可以直接沿用版本 1 的。然后就这样依次类推,版本 1 的始终是最底层的
#2 楼 @u1453357893 一般我习惯如果有升级 所有的接口都升级成 v2 而不是所有没有变更的都访问 v1
#3 楼 @hging 了解了,感谢
API 的风格设计可以参考: https://developers.google.com/drive/v3/reference/
我目前主要参考这个设计 API,感觉不错。
#5 楼 @gazeldx mark
不管怎么处理版本,一定要留个强制用户升级的接口就对了…
版本太多了,model 层也有很多互相不对头的代码,尽量还是保持一个版本吧,最好不超过 2 个。
#7 楼 @mizuhashi 感觉每个版本都得有一套 api,要不然太难维护
#7 楼 @mizuhashi 不太理解