> 백엔드 개발 > PHP 튜토리얼 > 对一些平台API设计调用的疑惑

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

WBOY
풀어 주다: 2016-06-06 20:31:32
원래의
1045명이 탐색했습니다.

最近看了下主流电商下得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来获取信息。

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

回复内容:

最近看了下主流电商下得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来获取信息。

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

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

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

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿