給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
感謝大神老外!!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章