Restful API,版本控制问题

Owater- 发布于 2015/06/02 15:22
阅读 4K+
收藏 1
Restful API,比如登录API,在v1中登录的方法是login1,那在v2中又要重写写个login2方法吗
加载中
0
Jack_Q
Jack_Q

把version=1.0.0 当成http 请求url参数传给resful。


0
lieefu
lieefu
在V2中调用login1还是重写个login2,不是你自己说了算么?
0
nanlong
nanlong

/api/v1/login

/api/v2/login

名称应该一致,只区分版本号。

另学术界认为版本号应该在HTTP请求头信息的Accept字段中进行区分

Accept: vnd.example-com.foo+json; version=1.0

Accept: vnd.example-com.foo+json; version=1.1

Accept: vnd.example-com.foo+json; version=2.0



hantsy
hantsy
这两种是比较标准的作法。
0
逍遥北极狼
逍遥北极狼

看看这篇文章,一般都是两种方式区分:1、应该将API的版本号放入URL。https://api.example.com/v1/ 2、另一种做法是,将版本号放在HTTP头信息中,但不如放入URL方便和直观。

可以看看---> http://blog.360chwl.net/detail/8a2390184d76d30e014d79e265920002.html
0
Owater-
Owater-

引用来自“冰之旅”的评论

看看这篇文章,一般都是两种方式区分:1、应该将API的版本号放入URL。https://api.example.com/v1/ 2、另一种做法是,将版本号放在HTTP头信息中,但不如放入URL方便和直观。

可以看看---> http://blog.360chwl.net/detail/8a2390184d76d30e014d79e265920002.html
额,其实我的意思是想问,存在两种login1和login2方法,代码会不会显得冗余
Owater-
Owater-
回复 @hantsy : 额,那就是copy问题,我明白了
hantsy
hantsy
V1 和V2 的代友可以完全分开,成一个单独项目,为什么还放一起?
逍遥北极狼
逍遥北极狼
回复 @Owater- : 没事,
Owater-
Owater-
回复 @冰之旅 : 好像也是,OK,谢啦
逍遥北极狼
逍遥北极狼
1、这个是另外一回事了的哈,你说的这个代码冗余问题,肯定是有的, 2、这个是无法避免的冗余除非restful接口不使用版本 3、使用版本就预示着会有不同的用户在不同的场景调用此接口,如果你分版本而不分方法,这样就会出现不同的业务调用相同的接口,客户相关业务可能就会出现不可预知的问题
0
帖子列表
帖子列表
api发布的时候就应该指定版本,比如楼上说的
0
杰睿宁
杰睿宁
移动端 app 后台接口 api 需要分版本同时提出给使用方。
如果每个接口都重新改类名将造成大量重复代码。
使用 NHVersion 类库可以解决代码重复问题,
同时在没有完全一致的版本映射时,
还可以根据提供的版本号找到最近似的版本进行调用。
详细说明访问 http://www.jeffreyningsoftware.com/product-nhversion-c.html
返回顶部
顶部