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

云解析_阿里云默认网关_代金券

小七 141 0

我们所看到的一个常见请求是能够从浏览器测试Business Hub中的SAP API。

例如,要访问员工雇佣信息,我们可以调用

https://sandbox.api.sap.com/successfactors/odata/v2/employment

这很好,但会返回一个错误:

"解析API密钥变量失败request.header.apikey文件"此错误消息中有两个重要的细节需要注意。首先,我们需要一个API密钥,如果businesshub以前使用过,这是显而易见的。不太明显的是错误"request.header.apikey文件"失踪的人request.header.apikey文件指的是缺少一个名为"apikey"的HTTP头,该头应包含在API集线器中订阅的API的apikey。如果特定的Business Hub API需要URL查询参数中的许可证密钥,则错误为"request.queryparam.APIKey"–注意原始请求中对queryparam的引用,而不是对header的引用。

但是要解决这个问题,将意味着API管理需要坐在到API集线器的请求前面,并转换请求一些有用的东西。它将接受一个查询参数并对其进行转换,以便将其作为标头值传递给后端服务。

继续之前,请确保:

您已经创建了免费的SCP试用帐户API管理已在您的服务中启用已从Business Hub获取API密钥。

从试用帐户服务面板打开API管理开发人员门户,将打开仪表板。

从快速操作中单击API链接。或者单击API的磁贴,然后单击后续屏幕上的"创建"按钮。

为了简化此示例,不会创建代理,因此映射到后端的URL是一个简单的URL。我们最终得到前端url到后端url的1-1映射。

创建API需要输入以下参数:API提供程序:保留为默认

URL:https://sandbox.api.sap.com/successfactors/odata/v2/employment

名称:SFSF\u Employment

标题:成功因素员工信息

描述:员工就业信息

主机别名:默认休假

API基本路径:/Employment

服务类型:默认休假

主机名称表单应如下图所示

单击"创建"按钮,将创建新的API。

关于上述表单,需要注意的一些重要事项是,上面的URL字段是从API管理到后端服务的链接,调用者将永远看不到此链接。

调用者将通过调用连接来访问此API主机别名和API基路径的名称–在本例中是http:/xxtrial-轨迹.apim1.hanatril.ondemand.com/employment公司.

此时保存API。保存后的屏幕应如下所示。

重要的是要了解API管理与HTTP请求一起工作。此外,还需要明确区分API端点(调用者将使用的API)和目标端点(API管理层在调用API端点时将调用的URL)。对于API和目标端点,可以通过策略中的简单xml片段在请求之前和之后修改请求。

对于下一步,我们需要更改请求流,以便将API密钥硬编码到请求中,或者可以从查询参数值获取密钥。为此,我们将创建API管理所称的"策略",API中的策略可用于在调用后端之前提取密钥并将其放入标头中。

这两个选项将在接下来的练习中开发。

选项1:将密钥硬编码到API中

如果您是唯一使用API的人,大数据研发,那么这是最简单的选项因为这个项目是将许可证密钥硬编码到目标API的预流中。也就是说,在请求进入后端之前,它会被修改,大数据技术学什么,并且许可证密钥会插入到HTTP请求中。请注意,API Hub将调用限制为每秒10次,因此这不适用于任何类型的企业部署,但对于概念验证类型的应用程序非常有用。

硬编码的关键是相对简单的。出站预流策略将用于向发送到业务中心的请求添加标头。这意味着API管理将对发送到后端的HTTP请求执行策略,并使用策略中定义的规则更改请求。

单击策略,然后在新打开的屏幕上单击编辑按钮(右上角)以启用此API的策略编辑。选择TargetEndpoint和PreFlow元素。从右侧的策略中,单击右侧的小添加按钮选择"分配消息"策略。

如果您没有看到右侧的小加号按钮与策略相对,好评返现模板,则需要单击编辑按钮(将显示在右上角的更新位置)

这将打开一个窗体,其中显示策略的详细信息可以输入。

对于这种情况:策略名称:Hardcode\u API\u Key流:传入请求

了解这里发生了什么很重要。端点类型设置为TargetEndpoint,这是在创建API定义时设置的SuccessFactors API URL。流请求也非常重要,因为这是策略将应用到的方向。对于这个示例策略,策略将应用于进入端点的请求。因此,这意味着该策略将在HTTP请求发送到API集线器之前应用于HTTP请求。

单击"添加"按钮添加该策略。

有关"分配消息"策略的更多详细信息,请参阅SCP APIM文档

请注意TargetEndpoint预流现在如何具有策略,并且创建的策略也具有相同的策略名称。

要继续,需要自定义策略的XML。由于将创建一个新的头变量,"Set"元素不合适,因为我们要创建一个新的头变量,而不是更改它。

删除"Set"元素并用以下XML替换它

不要在API键周围加引号或大括号将其保留为Header元素的值。

XML应如上所示。

需要做的最后更改是更改*AssignTo*元素,使其为空。尽管文档中说这是一个可选元素,但它仍然需要作为一个空元素。

以上是硬编码策略选项所需的最终XML。

单击"更新"按钮将更新策略定义,然后在API屏幕上,点击"保存"按钮保存对API的更改

最后从右上角的溢出菜单中选择"部署"按钮,将API部署到API管理服务器上,供调用方使用。然后状态将从"未部署"变为"已部署"

结束,调用方将向API代理URL发出请求,这将执行"硬编码API密钥"策略,在请求中添加"apikey"头,然后将请求发送到API中心。

您现在可以在浏览器中使用API代理URL从中获取员工雇佣信息列表成功因素。

选项2–在URL查询参数中传递API密钥