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等功能会在以后的文章中涉及。

原文地址:https://www.cnblogs.com/61007257Steven/p/10151552.html