如何使用 SAP API Portal Policy Edito
2021-08-17 本文已影响0人
华山令狐冲
打开 API portal,找到要编辑的 API,点击打开,进入明细页面:
![](https://img.haomeiwen.com/i2085791/43f48590f4596228.png)
点击 Policies:
![](https://img.haomeiwen.com/i2085791/d520240fe4656d05.png)
在策略编辑器的右侧,您可以看到开箱即用的策略,可帮助您为您的用例选择策略。所有安全策略都分组在安全下,类似的流量管理策略、中介策略和扩展策略也相应地分组。
![](https://img.haomeiwen.com/i2085791/56cf4da2f0491832.png)
策略编辑器的左侧有 Flows,PreFlow 和 PostFlow 位于代理端点和目标端点下。
![](https://img.haomeiwen.com/i2085791/4122a5ee400e626a.png)
左边选中 PreFlow,右边选择 Mediation Policies -> Assign Message,
![](https://img.haomeiwen.com/i2085791/f1df72032c355356.png)
在 Create Policy 面板里,Stream 选择成 Incoming Request:
![](https://img.haomeiwen.com/i2085791/2e708cf21244814f.png)
添加好的 Policy 在 Policy 里显示如下图所示:
![](https://img.haomeiwen.com/i2085791/7581b7741ff06efc.png)
进入 source code 源代码编辑器:
![](https://img.haomeiwen.com/i2085791/8f973aa0d1bafb7f.png)
复制如下内容:
<AssignMessage async="false" continueOnError="false" enabled="true" xmlns='http://www.sap.com/apimgmt'>
<Add>
<Headers>
<Header name="apikey">e9ZLBOfIplCOnibykWXsAfkMUexchhHN</Header>
<Header name="Accept-Encoding">gzip,deflate</Header>
</Headers>
</Add>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<AssignTo createNew="false" type="request"></AssignTo>
</AssignMessage>
您必须用之前复制的 API 密钥替换标记的文本。
此代码将使 SAP API 管理将所需的 API 密钥值添加到发送到 API 中心的每个请求,并接受用于为消费者有效传输数据的压缩格式。
同理,给 A_SalesOrder flow,添加一个 Mediation Policies 下面的 Assign Message:
![](https://img.haomeiwen.com/i2085791/ed29e0d6a8f78505.png)
![](https://img.haomeiwen.com/i2085791/4c3dc228c622ce93.png)
<!-- This policy can be used to create or modify the standard HTTP request and response messages -->
<AssignMessage async="false" continueOnError="false" enabled="true" xmlns='http://www.sap.com/apimgmt'>
<!-- Sets a new value to the existing parameter -->
<Add>
<QueryParams>
<QueryParam name="$top">3</QueryParam>
</QueryParams>
</Add>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<AssignTo createNew="false" type="request"></AssignTo> </AssignMessage>
这将限制 S/4HANA 返回的字段数。
保存 Policy 之后,直接点击部署成功后的 API proxy url:
![](https://img.haomeiwen.com/i2085791/a19daa6748d7bb40.png)
就能直接使用 policy 里编辑的 API key,访问到 S/4HANA cloud Sales Order API,而不用输入用户名和密码了:
![](https://img.haomeiwen.com/i2085791/4b25a562dd6001ec.png)
更多Jerry的原创文章,尽在:"汪子熙":
![](https://img.haomeiwen.com/i2085791/97c4752c0e619c44.png)