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

如何在Azure APIM中按规则修改POST请求负载并转发至后端

Azure APIM 实现POST请求负载自定义格式化操作方案

你需要的负载修改规则可以通过APIM原生的入站处理策略中的set-body组件实现,不需要额外部署中间服务,直接在APIM侧完成文本转换。

具体配置步骤
  • 登录Azure门户,进入目标APIM实例,在左侧菜单找到「API」选项,选中你需要配置的对应API或单个操作
  • 点击「设计」选项卡,找到「入站处理」区块,点击「代码视图」进入策略编辑界面
  • 在<inbound>节点下添加如下set-body策略,替换原有请求体:
<policies>
    <inbound>
        <base />
        <set-body>@{
            // 读取原始请求负载
            string rawPayload = context.Request.Body.As<string>(preserveContent: true);
            // 按行拆分原始内容
            string[] lines = rawPayload.Split(new[] { "\r\n", "\n" }, StringSplitOptions.None);
            System.Text.StringBuilder processed = new System.Text.StringBuilder();
            
            foreach (string line in lines)
            {
                // 先把当前行加入结果
                processed.AppendLine(line);
                
                // 匹配newreq行,追加指定参数
                if (line.Trim().Equals("newreq", StringComparison.OrdinalIgnoreCase))
                {
                    // 保留和newreq一致的缩进,示例默认适配4个空格的缩进,可按需调整
                    string indent = line.Substring(0, line.Length - line.TrimStart().Length);
                    processed.AppendLine($"{indent}Content-Type: application/http");
                    processed.AppendLine($"{indent}Accept: application/json");
                }
                
                // 匹配GET请求行,追加2个空行
                if (line.Trim().StartsWith("GET ", StringComparison.OrdinalIgnoreCase))
                {
                    processed.AppendLine();
                    processed.AppendLine();
                }
            }
            
            return processed.ToString();
        }</set-body>
    </inbound>
    <backend>
        <base />
    </backend>
    <outbound>
        <base />
    </outbound>
    <on-error>
        <base />
    </on-error>
</policies>
配置说明
  • 上述代码中的追加参数值、缩进规则都可以根据你实际的业务要求调整
  • 如果需要避免误匹配普通文本中的newreq字样,可以调整判断逻辑,增加更严格的行匹配规则
  • 配置完成后可以通过APIM自带的测试功能发起请求,在「跟踪」日志中查看转发到后端的请求体是否符合预期

内容的提问来源于stack exchange,提问作者Kirti Thakur - Patil

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 15:24:07