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

Azure APIM Set Body策略问题:请求头映射请求体失败求助

问题解决:将请求头映射到请求体的Set Body策略修正

你的Set Body策略代码存在语法错误,导致无法正常执行,具体问题和修正方案如下:

错误点分析

  • context.Request.Headers.GetValueOrDefault("X-Type","" 这一行缺少闭合的双引号,属于语法不完整,会直接导致脚本执行失败。

修正后的完整策略代码

<set-body>@{ 
    var requestBody = context.Request.Body.As<JObject>(preserveContent: true);
    // 修复引号缺失问题,确保默认值为空字符串的语法正确
    requestBody["type"] = context.Request.Headers.GetValueOrDefault("X-Type", "");
    return requestBody.ToString(Newtonsoft.Json.Formatting.None);
}</set-body>

额外说明

  • 使用ToString(Newtonsoft.Json.Formatting.None)可以确保输出的JSON为紧凑格式,与目标负载格式完全匹配;若不要求严格紧凑格式,直接使用requestBody.ToString()也可实现需求。
  • preserveContent: true的设置是正确的,它会保留原始请求体内容,避免后续策略无法读取请求体数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 03:55:25