给Magento新增JSON-RPC类型的Api适配器(adapter)

百度百科里对JSON-RPC的定义:
     json rpc 是一种以json为消息格式的远程调用服务,它是一套允许运行在不同操作系统、不同环境的程序实现基于Internet过程调用的规范和一系列的实现。这种远程过程调用可以使用http作为传输协议,也可以使用其它传输协议,传输的内容是json消息体。
     json rpc 和 xmlrpc相比具有很多优点。首先xmlrpc是以xml作为消息格式,xml具有体积大,格式复杂,传输占用带宽。程序对xml的解析也比较复杂,并且耗费较多服务器资源。json相比xml体积小巧,并且解析相对容易很多。
      Magento原生自带SOAP/XML-RPC(和Rest Api)类型的Api,这几天在Github上闲逛时发现有老外分享了一个Magento的JSON-RPC API adapter,不到一百行代码就实现了这个功能(作者水平高是一方面,另一方面正好展现了Magento的可扩展性)。gihub上的地址:https://github.com/sgh-it/jsonrpc
      各个常见语言(java,C#甚至JavaScript)都有针对JSON-RPC的客户端类库,我随手找了一个php的客户端类库做测试,测试代码如下:
     
include('JsonRpcClient.php');

$api = new JsonRpcClient('http://www.magento.dev/index.php/api/jsonrpc');

$session = $api->__call('login', array('api123456', 'api1234567'));

$result = $api->__call('call', array($session,'catalog_product.info','1'));
var_export($result);

这段代码是去获取商品id为1的商品的信息,可以看到调用方式和SOAP/XML-RPC非常接近。
使用的JSON-RPC php客户端下载地址:http://bitbucket.org/jbg/php-json-rpc
感谢大神老外!!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章