利用虚拟方法和反射简化Alisoft API的调用
2008-11-21 00:17 午夜瞎想 阅读(2368) 评论(8) 编辑 收藏 举报最近一直在研究Alisfot api,他的文档和帮助都让我很郁闷,可能是第一次做这种开放api的程序吧.为了简化那些烦人的参数和返回值的调用,可以利用.net的匿名委托和反射机制来达到目的,简化后代码可以如下所示:
/// <summary>
/// 此接口方法以实现得到前台展示的店铺内卖家自定义商品类目。
/// </summary>
/// <param name="Nick"></param>
/// <returns></returns>
public List<SellerCat> sellercats_list_get(string Nick)
{
SellerCatsPar parSL = new SellerCatsPar();
parSL.sip_sessionid = sip_sessionid;
parSL.nick = Nick;
return APIUtils.Result<List<SellerCat>>(parSL, (string result) =>
{
NameValueCollection par = new NameValueCollection();
par.Add("ID", "cid");
par.Add("Name", "name");
par.Add("ParentID", "parent_cid");
return new XmlHandler<SellerCat>().ListItemByXml(result, "rsp/seller_cat", par);
});
}
现在是不是简单明了,只要关注于业务就可以啦.
第一次用office发文章,太晚了先发一点内容测试测试.:-)
据说 还能贴图 试试
图一
图一为阿里的API文档菜单,我看了一星期,硬没找到他的api列表(中间一直在看百度搜索到的一个老界面).今天才搞明白,原来我一直在点右边红框的文字部分,他的内容竟然也变,但是树形菜单不会下拉.只有再点左边的图片才可以.也可以说是我智商的问题,但这里面也有一个用户体验的问题.在做系统的时候会习惯的认为用户会按照自己的思维做事情,往往一个简单的东西,不同的人就会得到不同的结果.比如这个问题.如果不是因为我继续关注,阿里的这个api我肯定会以为他没提供而放弃找其他的啦.