云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

轻量服务器_网站建设公_排行榜

小七 141 0

轻量服务器_网站建设公_排行榜

既然SAP API管理可用,您可能还看到了Bhanu Pratap Sharan关于策略和如何使用策略的精彩博客。它解释了SAP API Management中的哪些策略、哪些策略可用以及如何使用它们。

在我的第一篇关于如何在HCP试用版上使用SAP API Management的博客之后,您可能已经注意到,在调用ES4系统的"代理"URL时(例如。https://trial.apim1.hanatril.ondemand.com:443/试用版/GWU基本版)你仍然可以看到像这样的网址https://sapes4.sapdevcenter.com/sap/opu/odata/iwbep/GWSAMPLE\u BASIC/在回答中

显然这没有什么意义。所以我们必须告诉API代理,它应该隐藏/屏蔽真正的URL。有很多方法可以做到这一点。在这个博客中,我想展示我们拥有的一个策略:JavaScript策略的威力。

尽管你可以让这个策略非常通用,我将保持非常基本的,并实际告诉脚本什么是目标服务器和什么是sapapi管理代理URL。

让我们拿起我们在How to use sapapi Management on HCP试用版中留下的地方

我创建了一个普通API代理,它只会连接到ES4系统。让我们再来看看这个API代理,淘客公众号,并转到API工件部分的"启动策略设计器"(有关更多详细信息,请查看博客SAP API Management–Policy Management)

一旦启动策略设计器,大数据难学吗,您将看到一个空的策略屏幕。在此屏幕中,启用编辑模式,通过单击编辑,然后添加脚本(通过单击"+"符号,当您处于编辑模式时,它将出现)

一旦您单击"+"符号,您可以为新脚本命名为"urlrewrite"

这将是读取实际URL并用SAP API管理代理中的URL替换的脚本。因此,一旦您在上面的弹出窗口中单击Add,贵阳大数据,您就可以选择我们刚刚创建的脚本名("urlrewrite")并添加内容:

var rc=context.getVariable文件("响应.内容");

var newstr=钢筋混凝土更换(/SAPES4。SAPDEVCENTER.COM:443/gi, "试用版.apim1.hanatrial.ondemand.com");

var新路径=新闻文本替换(/\/sap\/opu\/odata\/iwbep/gi,物联网关键技术,"\/d0444410试用版");

context.setVariable设置变量("响应.内容",newpath);

在这四行中(当然可以少:-),我们从响应中检索内容,用信息替换targetserverhost和targetserverport(在我的例子中是SAP开发人员系统)从api代理中,更改路径并将此新信息放回上下文中。非常直接。

现在我们只需告诉流程,以及何时调用此脚本。

所以在左侧,向下滚动到TargetEndpoint并选择PostFlow(毕竟我们希望替换服务器响应的结果)。然后在右边单击JavaScript策略的"+"号

将打开一个新的弹出窗口,我们可以在其中指定此策略的名称。输入类似"maskurlfromresponse"的内容,并确保从流中选择"Outgoing Response"。然后单击Add

这个策略现在允许我们在JavaScript中调用/执行任何我们想要的操作。在本例中,我们将只调用之前创建的脚本:urlrewrite脚本。为了做到这一点,只需用urlrewrite脚本替换/添加脚本的名称,使内容看起来像这样:

(因为我们不会使用助手.js文件中,还可以删除行:

jsc://helper.js

!–此策略允许我们在执行API代理时执行java脚本代码–>

jsc://urlrewrite.js

就这样!现在你可以点击Update

然后点击Save

…从现在起,你对后端系统的API调用应该真的屏蔽URL。

我希望这个小例子不仅向你展示了如何屏蔽URL,而且让你看到了这些策略的威力。使用JavaScript策略,您实际上可以在流中执行任何您想要的操作。您可以过滤流量、重定向URL、更改内容、检查或验证内容……可能性是无穷的。

在未来的博客中,我们将更详细地讨论使用JavaScript策略可以做的其他一些事情。例如,北京大数据公司,我们可以使此脚本更具动态性,以便它首先检索目标URl并使用API代理名称-以便您不必硬编码此信息。

请随意添加您的评论和反馈。

-

更新:有关更多信息,请参阅SAP API管理–概述和入门

Holger,

复制API有没有简单的方法?

我尝试导出和导入API。在导入时,在选择相应的(导出的)zip文件后,它表示API已经存在。那么我缺少什么来复制API呢?而不是从头开始,我可以采取现有的一个,并调整它,以满足我的要求?

BRMatthias

您好Matthias,

导出API时,您正在保存所有相关数据,包括该API的名称和路径。这是相关的,因为导出/导入的标准使用是跨API管理系统的(例如,当从Dev->Test landscape移动API时)。

当前没有"克隆"功能,因此您必须在将API导入回系统之前手动编辑API详细信息。

导出API之后,打开创建的zipfile(例如,对于"API",它将生成"API.zip文件")使用您最喜欢的zip处理程序。

幸运的是,由于API代理的结构方式,您不需要编辑太多的项或字段,不幸的是,您将需要挖掘XML。