繁体   English   中英

将一个 Http 请求的响应数据传递给 Azure 逻辑应用程序中的另一个 Http 请求

[英]Pass response data of one Http request to another Http request in Azure Logic Apps

我正在构建一个逻辑应用程序,我需要将一个 Http 请求的响应数据传递给 Azure 逻辑应用程序中的另一个 Http 请求。

第一个 Http 请求是 POST 方法并返回此数据。

{
  "ID": "892069751085535232",
  "Name": "Test",  
  "source": "retailcloud",
  "metadata": {
    "OrderID": "894",
    "DeviceID": "123"
  }
}

接下来将再次使用类似此数据的 POST 请求。

{
  id: response.id,
  order_id: response.metadata.OrderId
}

我如何在这里传递 Id 和 OrderId? 比如我需要在这里使用哪些 Logic 应用内置功能?

我在这里使用 2 个连接器,一个是When HTTP request is received ,另一个是HTTP连接器。

为了使您的属性可用于下一个连接器,我只是添加示例有效载荷。在此处输入图像描述

然后将您的示例负载粘贴到该区域并单击完成。 您将为您的有效负载生成一个架构

在此处输入图像描述

然后添加Http连接器并添加方法和 url。要传递 ID 和 OrderID 属性,您需要将属性添加到主体中,这些属性在您单击Dynamic Contents时自动生成。

在此处输入图像描述

假设您的第一个 HTTP 操作称为HTTP1 ,第二个 HTTP 操作称为HTTP2

你有两个选择。

  1. 在它们之间添加一个Parse JSON动作,使用HTTP1的output作为内容,使用sample payload生成schema。 然后您可以在HTTP2中使用来自此操作的动态内容:

    { "id": <ID from Parse JSON>, "order_id": <OrderID from Parse JSON> }

  2. 不要添加“解析 JSON”——并在HTTP2的正文中使用表达式而不是动态内容:

    { "id": <body('HTTP1')?['ID']>, "order_id": <body('HTTP1')?['metadata']?['OrderID']> }

忽略上面示例中的尖括号 - 将它们替换为实际的动态内容或根据需要替换为表达式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM