在Azure APIM中是否可以使用公共密钥加入SOAP响应

问题描述

您好,有什么方法可以基于天蓝色API中的任何共同属性来加入肥皂响应 例如 假设我有

::ng-deep mat-option:hover {
  ...
}

我对另一个具有相同订单编号的详细信息有一个反应

我使用apim的send-request策略调用了这些api。 我试过使用context.variable但是它没有解决。 我可以使用返回响应策略或其他任何方式合并这些响应吗?

解决方法

您可以在Azure API管理策略中应用Liquid templates

<outbound>
   <base />

   <!--Create JSON Response via liquid template-->
   <set-body template="liquid">
   {
       "orderId" : "{{body.GetOrderDetailsResponse.OrderId}}","orderDate" : "{{body.GetOrderDetailsResponse.OrderDate | Date: "dd/MM/yyyy"}}","orderLines" : [
           {% JSONArrayFor orderline in body.GetOrderDetailsResponse.OrderLines %}
           {
               "product" : "{{orderline.Product}}","amount" : "{{orderline.Amount}}"
           }
           {% endJSONArrayFor %}
       ]
   }
   </set-body>

   <!--Set correct content type-->
   <set-header name="Content-Type" exists-action="override">
      <value>application/json</value>
   </set-header>
</outbound>

context变量也可以从Liquid模板中访问。在Liquid模板内部,您需要应用以下符号:{{context.Request.Url.Query[“orderId”]}}

有关更多详细信息,您可以参考此article