【问题标题】:How to copy value from request into response in Azure API management policy如何将请求中的值复制到 Azure API 管理策略中的响应中
【发布时间】:2020-06-17 10:20:23
【问题描述】:

在 APIM 策略中,我希望将入站策略中的请求正文中的值复制到出站策略中的响应正文中。

APIM 策略中有全局变量的概念吗?

【问题讨论】:

    标签: azure-api-management


    【解决方案1】:

    您可以通过使用变量来实现这一点。

    政策:

            <policies>
            <inbound>
                <base />
                <set-variable name="requestBody" value="@(context.Request.Body.As<JObject>(true))" />
            </inbound>
            <backend>
                <!-- Unused for this sample 
                <base />
                -->
            </backend>
            <outbound>
                <base />
                <set-body template="none">@{
                    // var responseBodyFromBackend = ((IResponse)context.Response).Body.As<string>(true); 
                    var requestBody = context.Variables.GetValueOrDefault<JObject>("requestBody");     
                    var response = new JObject();
                    response["OriginalRequestBody"] = requestBody;
                    return response.ToString();        
                }</set-body>
            </outbound>
            <on-error>
                <base />
            </on-error>
        </policies>
    

    请求正文:

    {
       "hello": "world"
    }
    

    响应正文:

    {
        "OriginalRequestBody": {
            "hello": "world"
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-03
      • 1970-01-01
      • 1970-01-01
      • 2023-01-28
      • 2022-12-09
      • 2022-08-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多