top4net - 淘寶開放平臺.NET版SDK

jopen 11年前發布 | 53K 次閱讀 top4net 電子商務/商城

設計原則

  1. 容易維護擴展(不需要修改主類就可以添加新的API支持)
  2. 注入型解釋器(依據不同的返回格式注入相應的解釋器)
  3. 集中管理請求參數與參數映射
  4. 使用泛型來做強類型編程
  5. 基于純.NET 2.0的XML與JSON解釋器實現
  6. 多協議擴展支持(REST, RPC, SOAP, etc)
  7. </ol>

    設計類圖

    top4net - 淘寶開放平臺.NET版SDK

    擴展方式

    1. 實現ITopRequest類,覆蓋其中的GetParameters和GetApiName方法
    2. 實現ITopParser類,覆蓋其中的Parse方法。

    環境依賴

    • 需要運行在.NET Framework 2.0的環境或者以上

    調用方式
    TopXmlRestClient client = new TopXmlRestClient("http://gw.api.tbsandbox.com/router/rest", "test", "test");
    UserGetRequest request = new UserGetRequest();
    request.Fields = "user_id,nick,sex,created,location";
    request.Nick = "tbtest520";
    User user = client.UserGet(request);
    
    TopXmlRestClient client = new TopXmlRestClient("http://gw.api.tbsandbox.com/router/rest", "test", "test");
    ItemUpdateRequest request = new ItemUpdateRequest();
    request.Iid = "9ce7d2a5a38c1a20346cdd4af6f90de3";
    request.Title = "Updated by Top4Net";
    request.Image = new FileItem(new FileInfo("C:/temp.jpg"));
    Item item = client.ItemUpdate(request, "session_key");
    
    TopXmlRestClient client = new TopXmlRestClient("http://gw.api.tbsandbox.com/router/rest", "test", "test");
    TradesSoldGetRequest req = new TradesSoldGetRequest();
    req.Fields = "tid,seller_nick,buyer_nick,orders.oid,orders.iid,orders.title,orders.price";
    PageList<Trade> rsp = client.TradesSoldGet(req, "session_key");
    List<Trade> trades = rsp.Content;
    long totalResults = rsp.TotalResults;
    
     ITopClient client = new TopRestClient("http://gw.api.tbsandbox.com/router/rest", "test", "test", "json");
     UserGetRequest request = new UserGetRequest();
     request.Fields = "user_id,nick,sex,created,location";
     request.Nick = "tbtest520";
     User user = client.Execute(request, new ObjectXmlParser<User>(new ParseData(request.getApiName(), "user")));

    項目主頁:http://www.baiduhome.net/lib/view/home/1360140599174

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!