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

如何在Azure API Management中使用set-body修改JSON负载

问题原因

  • 修改逻辑完全错位:你读取了原始响应体到inBody后,直接把未修改的原始内容转成字符串存到了str变量,后续新建的item对象和原始响应体没有任何关联,最后返回的还是原始的str,所以出站负载没有变化
  • 硬编码的JSON字符串存在语法错误:{ 'link': 'http://localhost:7071/api}缺少单引号闭合,会触发JSON解析异常

正确实现代码

场景1:直接替换link为自定义值(不校验原值)

不管原link字段的取值是什么,直接覆盖为你指定的内容,代码如下:

JObject inBody = context.Response.Body.As<JObject>();
// 替换为你需要的自定义链接,需要置空就写 inBody["link"] = ""
inBody["link"] = "https://randomlink/269";
return inBody.ToString();

场景2:仅原值匹配时才替换

只有原link字段值为http://localhost:7071/api时才执行替换,代码如下:

JObject inBody = context.Response.Body.As<JObject>();
if (inBody["link"]?.ToString() == "http://localhost:7071/api")
{
    // 需要置空就写 inBody["link"] = ""
    inBody["link"] = "https://randomlink/269";
}
return inBody.ToString();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 05:54:05