如何在Azure Logic Apps中将前序HTTP请求的响应数据传递给后续请求
Azure Logic Apps 跨HTTP请求参数传递实现方案
实现步骤
- 首先确认你第一个POST请求的HTTP动作名称,默认新建的HTTP动作名称为
HTTP,如果你自定义过名称(比如「获取订单信息」),注意英文名称带空格的情况引用时空格会自动替换为下划线,比如名称为Get Order的动作引用时写为Get_Order。 - 在第二个POST请求的「正文」配置区域,选择「输入原始数据」模式,直接填入以下格式的JSON即可完成参数绑定:
{ "id": "@body('替换为你的第一个HTTP动作名称')?['ID']", "order_id": "@body('替换为你的第一个HTTP动作名称')?['metadata']?['OrderID']" }
如果你不想手写表达式,也可以直接在动态内容面板里,找到第一个HTTP请求的输出列表,直接点选ID和metadata下的OrderID字段,Logic Apps会自动生成对应的表达式。
需要用到的内置函数
body():核心函数,作用是获取指定动作的响应体内容,参数为目标动作的名称,需要用单引号包裹。- 可选补充:如果需要处理空值场景避免工作流报错,可以搭配
coalesce()函数设置默认值,示例:
当取到的ID为空时,会自动返回你设置的默认值。@coalesce(body('HTTP')?['ID'], '缺省ID值')
注意事项
- Logic Apps的JSON字段解析是大小写敏感的,必须严格匹配第一个响应返回的字段名:
ID全大写、OrderID的ID部分全大写,不要写成id或者OrderId,否则会取不到值。 - 默认配置下只有第一个HTTP请求运行成功后才会执行后续请求,如果需要容错处理,可以在第二个动作的「运行后」设置里,自定义触发条件。
内容的提问来源于stack exchange,提问作者vivek
相关产品推荐
相关产品推荐

