You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Logic App返回500等非200状态码时如何获取响应体

Azure Logic App 非2xx状态码下获取响应体方案

可以正常获取非200状态码对应的响应体,这不是产品的设计限制,仅为默认配置的默认行为,具体操作方法如下:

核心根因

默认情况下,Logic App 中的HTTP类动作/触发器会将状态码不在200-299区间的请求判定为失败,直接中断默认执行链路,也不会解析传递响应体,所以你会拿到null值。

方案1:修改成功状态码范围(最常用)

直接调整HTTP动作的状态码判定规则,放行你需要获取响应体的异常状态码即可:

  • 点击对应HTTP动作右上角的「···」按钮,选择「设置」
  • 下拉找到成功状态码配置项,默认值为200-299,你可以根据需求修改:
    • 需要放行所有状态码的场景直接改为200-599
    • 仅需要放行特定异常码的场景可单独指定,比如200,500,504
  • 保存配置后,所有在配置范围内的状态码都会被判定为可处理的请求,你可以通过outputs('你的HTTP动作名称')?['body']正常获取响应体,通过outputs('你的HTTP动作名称')?['statusCode']获取状态码,后续再根据状态码做分支处理即可。

如果你是用Logic App对外提供接口,返回自定义500/504时出现响应体丢失,需要检查「响应」动作的触发条件,不要将其仅设置为失败场景触发,改为无论成功/失败都运行,即可正常返回自定义的响应体内容。

方案2:错误分支捕获(不修改默认判定规则)

如果你不想改动默认的2xx成功判定逻辑,也可以通过错误分支捕获的方式获取异常响应:

  • 给HTTP动作新增一个并行处理分支,设置分支的run after触发条件为「失败」「超时」「已跳过」所有异常场景
  • 在错误分支中使用actions('你的HTTP动作名称')?['outputs']?['body']即可获取失败请求的响应体,状态码可通过actions('你的HTTP动作名称')?['outputs']?['statusCode']获取

内容的提问来源于stack exchange,提问作者Kruti Joshi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 22:24:03