如何提取发送请求策略的响应状态代码

Kri*_*dra 3 azure-api-management

使用 Azure APIM 中的发送请求策略。能够得到响应并提取Body。然而,在提取response.status.code方面遇到了困难

如果发送请求,则此 @(context.Response.StatusCode) 的值为 200,我正在尝试捕获此值...

send-request (88 ms)
{
    "response": {
        "status": {
            "code": 200,
            "reason": "OK"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Nil*_*ant 6

Hope below solution will work for you.

<choose>
 <when condition="@(((IResponse)context.Variables["response-variable-name"]).StatusCode == 200)">
       <set-variable name="xxx" value="@(((IResponse)context.Variables["response-variable-name"]).Body.As<JObject>(preserveContent: true).ToString())" />
</when>
<otherwise>
    <return-response>
      <set-status code="404" reason="Not Found" />
      <set-body>@(((IResponse)context.Variables["response"]).Body.As<JObject>(preserveContent: true).ToString())</set-body>
    </return-response>
 </otherwise>
</choose>
Run Code Online (Sandbox Code Playgroud)