【发布时间】:2020-06-17 10:20:23
【问题描述】:
在 APIM 策略中,我希望将入站策略中的请求正文中的值复制到出站策略中的响应正文中。
APIM 策略中有全局变量的概念吗?
【问题讨论】:
在 APIM 策略中,我希望将入站策略中的请求正文中的值复制到出站策略中的响应正文中。
APIM 策略中有全局变量的概念吗?
【问题讨论】:
您可以通过使用变量来实现这一点。
政策:
<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"
}
}
【讨论】: