新手问题 API 定义规范疑问

u1453357893 · 2016年05月09日 · 最后由 u1453357893 回复于 2016年05月11日 · 2033 次阅读

自己没正式的搞过 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

API 的风格设计可以参考: https://developers.google.com/drive/v3/reference/

我目前主要参考这个设计 API,感觉不错。

不管怎么处理版本,一定要留个强制用户升级的接口就对了…

版本太多了,model 层也有很多互相不对头的代码,尽量还是保持一个版本吧,最好不超过 2 个。

#7 楼 @mizuhashi 感觉每个版本都得有一套 api,要不然太难维护

需要 登录 后方可回复, 如果你还没有账号请 注册新账号