Aras学习笔记 (29) 使用Asp.net WebAPI创建Aras自定义Rest服务
1、首先用Visual Studio创建空的Asp.net Web应用项目,并选中Web API核心引用。
2、VS会自动创建WebApiConfig类,设定路由及默认的访问方式。
3、同时会创建个简单的路由例子,并定义Get、Post、Put、Delete四种方法,分别表示查询、新增、修改及删除操作。
4、编译后浏览结果如下:
5、新建一个Part Controller,实现查询Part列表及按ID查询Part信息的功能。
6、使用工具生成Part实体类。
7、在Part Controller的构造及析构函数中创建及释放Aras Innovator实例。
HttpServerConnection conn = IomFactory.CreateHttpServerConnection(ConfigurationHelper.GetInnovatorServerSiteURL(), ConfigurationHelper.GetDatabaseName(), ConfigurationHelper.GetUserAccount(), ConfigurationHelper.GetPassword()); if (conn != null) { Item logResult = conn.Login(); if (!logResult.isError()) { innovator = new Innovator(conn); } }
if (innovator != null) { HttpServerConnection conn = (HttpServerConnection)innovator.getConnection(); conn.Logout(); }
8、在Get() 方法中提取Part全部列表并返回Dom文档。
string result = ""; try { Item item = innovator.newItem("Part", "get"); item = item.apply(); if (item != null) { result = item.dom.InnerXml; } } catch (Exception ex) { } return result;
9、在Get(string id)方法中安id查询Part内容并返回Dom文档。(可以用Or实现id对多字段的查询,以及使用condition进行对比等范围查询)
string result = ""; try { string aml = "<AML><Item type='Part' action='get'>"; //aml = aml + "<Or>"; aml = aml + "<id>"+ id +"</id>"; //aml = aml + "<name>"+ id +"</name>"; //aml = aml + "</Or>"; aml = aml + "</Item></AML>"; Item item = innovator.applyAML(aml); if (item != null) { result = item.dom.InnerXml; } } catch (Exception ex) { } return result;
10、Part列表查询方式及结果。
11、查询单个Part方式及结果:
BTW,新增、修改、删除,及order by、top等功能会在以后的文章中涉及。