2017-01-26 70 views
0

我们正在使用SAP HCP。对于我们的应用程序,我们需要提供一个Web API。 我们不确定为此使用OData服务或定制的XSJS服务实现。我应该使用OData服务器还是自定义XSJS服务实施?

我们需要完成的一些事情。所有项目也需要做一定的用户授权。

  • 从数据库中选择数据
  • 将数据写入到数据库
  • 提供不借此在数据库上的CRUD操作,但例如在后台将数据发送到另一台服务器API函数

在我的理解中,OData服务只适合前两项,但不提供任何与数据库(CRUD)相关的任何操作。它是否正确?

这种情况下是否有最佳做法?任何建议和指向正确的方向是值得欢迎的。

回答

0

XSOData将无法执行非CRUD操作。借助XSJS,您可以实现这一目标。我已经完成了内部部署 系统&上的所有三项要求,相同的概念也应该适用于HCP。

执行查询&显示数据的示例代码:

var queryString = "SELECT * FROM Table"; 
var connection = $.db.getConnection(); // DB Connection 
var stmt = connection.prepareStatement(queryString); 
var rs = stmt.executeQuery(); 
var output = ""; 
while (rs.next()) // Column setting 
{ 
    output += ("Col1:"+rs.getString(0)+", Col2:"+rs.getString(1)+";"; 
} 
$.response.setBody(output); 

要检查你可以用$ .request任何GET或POST请求&请求参数。有了这些,你可以执行你的CRUD操作

您可以参考XSJS API参考更多信息 http://help.sap.com/hana/SAP_HANA_XS_JavaScript_API_Reference_en/

将数据发送到另一台服务器,一个方法是从第二个服务器提供网络服务。 XSJS可以将Web请求发送到配置的目标,以便您可以将数据发布到您的服务器。您将需要访问你服务器上创建目标文件(.xshttpdest)

一些示例代码:

var dest = $.net.http.readDestination("<package path to destination file>", "<destination file name>"); 
var client = new $.net.http.Client(); 
var req = new $.web.WebRequest($.net.http.POST, "/"); 
req.contentType = "application/json"; 
req.setBody("My data"); 
client.request(req, dest); 
var response = client.getResponse(); 

您可以在下面的链接找到的细节来创建一个HTTP目标&发送数据https://help.hana.ondemand.com/help/frameset.htm?06ca24043b0f4eb78cf39c6bc1d8a8dc.html

相关问题