云网站服务器_国内数据云存储_移动云数据库服务器主机-搜集站云

华为云_北京格兰特企业邮箱_好用

小七 141 0

在我最近的XSA开发系列博客中,我写了一些关于节点模块、OData等概念的文章。今天,我想深入探讨这个主题,并分享如何创建REST API的细节。这个博客也可以在这里用英语阅读我还想补充一点,我试图避免使用XS CLI工具,因为在一些公司,大数据时代是什么意思,许多管理员不允许访问这些类型的工具。最初的步骤以前是文档化的,但我会把它们放在这里。亚姆有你的依赖关系(HTML,DB,Node,UAA)我的意思是,requires/provides部分配置正确确保XS文件-应用程序包含"路由"类型的唯一性,以及实际路由假设节点模块中同时支持XSJS兼容模块和Node JS,则在文件中继续并引导这些元素.服务器"档案馆服务器是主条目(默认情况下是从文件启动的)json包)"然后,从档案馆服务器-是的。(Module Express)路由器调用以分析请求并最终传递相应的执行。注意,在XS文件的UI模块中定义的路径应用程序必须与文件中定义的路径相同索引.js对于节点类型的模块,否则将导致HTTP 404"找不到"他们为我服务,帮了大忙。索引.js在上面,我们还导入了一个名为演示(服务实现)我们将在其中运行SQL或存储过程(假设这些过程是在DB模块中创建的,并且用户有相应的访问权限)执行这些工件)。在我的练习中,我创建了一个本地CDS表,一个存储过程,并将数据插入到CDS表中。"一旦所有这些都准备好了,就只有输入Nodejs代码来运行SQL或加载过程了。"IMO最佳实践说,我们担心在BD中运行大多数逻辑(使用过程),但我还想看看从Node JS模块运行SQL的方式是如何工作的——在我看来,这非常容易。"——"首先,我想展示一个非常简单的请求,人工智能是,以获得信任,即可以从路由器上定义的路径调用和响应。我使用JSON是因为它是目前最常见的Web应用程序和服务通信方式。现在让我们看看SELECT查询是如何调用的。prepare函数以SQL语句作为第一个参数,回调返回errors和statements。如果我们没有权限或查询中有任何其他错误,ERR NOW将立即通知您。Object语句允许我们执行如下所示的查询exec函数接受一个初始参数,一个回调,回调返回一个错误并返回结果(哪个atm!!!数据是否从查询中返回)我们可以在将响应返回到请求之前包含额外的逻辑操作,或者在我的例子中,将自定义对象作为响应返回。最后,将对象响应(原始请求的)配置为包含响应类型(JSON、明文、二进制、文件等)、状态(HTTP),然后我们可以将响应返回到该请求的调用方。这是一个非常简单、优雅和容易理解的方法,这就是你在这个请求和响应中弄脏的地方。我建议您包括一个与调试器的会话,并分析步骤,以查看有关REQ/RESP、DB、连接、结果和其他对象的其他信息。5151在下一个练习中,我想首先分享如何运行存储过程,我们必须包括模块@SAP/hdbext,因为它将允许我们加载存储过程LoadProcedure函数接受多个参数(客户端、架构、进程名和回调)客户是需求数据库如变量赋值中所示,我没有包括schema,因为我使用的是我的HDI容器,但是,如果您可以在调用函数时尝试使用自己的schema作为第二个参数proc名称显示有一个类型为deisgn time的对象。在从SQL控制台执行名称后复制了它。请尝试复制名称,不要尝试键入命名空间::name请注意,回调是ES6格式的,而不是Node/JS Vanilla,它使用箭头函数(语法较短)同样,错误是第一个参数,它会通知我们在程序执行过程中是否有错误。然后是作为代理函数加载的SP对象请记住,企业信息化应用系统,如果存储过程需要任何输入参数,则在执行代理函数之前,我们必须将它们包含在某处。在我的例子中,大数据分析网站,我在请求中以查询字符串参数的形式传递它,然后从对象中获取这些值。请求查询(我的参数是"name")代理函数(sp())接受一个带有input params的对象,然后有一个回调(本例中是箭头函数)从同一个进程返回错误、参数或结果。最后,我们设置了响应,正如我前面提到的,我有一个自定义对象作为我的响应,其他问题阻碍了我的前进(我花了很多时间才找到每个问题,这就是为什么我认为分享它们是很重要的)亚姆-我想做点别的是错的。请不要手动编辑此文件代理错误当我想链接路由认证时,将UI的认证令牌传递到节点模块-我必须从亚姆在每个模块(UI和节点)的参数下面的部分执行SQL/Stored过程的权限不足–必须使用需要分配给用户的正确角色(或角色集合)。我最终使用了一个CD类型的表和一个HDI进程,而不是为了这个博客的目的使用一个不同的模式。在新表中,您需要插入数据–只有当您需要开发新的东西时,才需要这样的开销,商城建站系统,一旦您使用已经有数据的现有表,就不应该发生这种情况节点引导代码需要某些@sap模块,这些模块必须包括在内——我的错误是我在评论某些代码时认为它们不会被使用。把所有的东西都放在开头,然后看看实现是什么样子,看看它是否真的会被使用。json包在Dependencies部分下,以及它的版本号。如果你不知道版本是什么,试着"最新"直到你知道你在使用哪个版本。不要把"最新"作为你的版本,因为如果你必须一直下载/安装"最新",这可能会破坏你的应用程序。虽然Nodejs模块运行在其priopio上主机:端口,请求必须发送到UI模块。如果你试图直接访问它,它会给你一个错误,未经授权。相反,您必须从UI访问它,并根据您在XS文件中设置的方式更改相对路径。应用程序–这个文件负责将请求发送到devan正确去的地方配置。现在,继续分享。如果你有任何疑问或问题,请告诉我。非常感谢您阅读本博客https://www.cloudfoundry.org/ᐟ**Express JS模块https://expressjs.com/en/api.html**ES6和箭头功能https://www.w3schools.com/js/js es6.asp******露西亚·苏巴廷https://developers.sap.com/tutorials/xsa-xsjs-xsodata.html******克雷格·克梅尔https://developers.sap.com/tutorials/xsa-node-modules.html