对一些平台API设计调用的疑惑


最近看了下主流电商下得API调用方式,他们的调用基本步骤都是有一个总的 HOST URL ,然后把需要调用的方法的名称传进去。比如说调用商品接口 taobao.product.get ,需要调用 http://gw.api.taobao.com/router/rest 然后把设置 method = "taobao.product.get" ,放入请求参数中。
但是像腾讯开放平台又是另外一种风格,比如说获取用户信息接口。他们会为这个接口单独的定义一个 URL : http://openapi.tencentyun.com/v3/user/get_info 来获取信息。

这两种方式,我比较倾向于第二种。这两种方式的具体区别是什么?为什么淘宝,京东,一号店,美丽说等一些开放平台使用了第一种方式,好处是什么

编程 java 开放平台 php restful

赤色的大地 10 years, 10 months ago

没有什么本质上的区别,无非是路由判断的标准和选取参数不一样

xch0591 answered 10 years, 10 months ago

据说前一种是 java风格,后一种是ruby风格.
也就是说,设计接口的人可能用,或者之前用 对应语言的框架.
造成的习惯

小黑屋调教 answered 10 years, 10 months ago

前者是面向服务接口,更加灵活,一个接口能根据条件做相应的变化,后者是面向模块的设计方式,是用户模块,rest风格,个人觉得小网站,小服务,建议第2种,大网站,大服务用第一种,第一种是第二种的演变,楼主可以查看接口演变的过程,面向接口,面向功能,面向服务.soap

只是个打酱油的 answered 10 years, 10 months ago

Your Answer