'{{...}}' Liquid Codes in 'set-body' Policy Statement

Q

How to use "{{...}}" Liquid Codes in "set-body" Policy Statement?

✍: FYIcenter.com

A

The "{{...}}" Liquid Codes in "set-body" Policy Statement allows you to insert object properties of the original request in JSON format and object properties of the built-in "context" object.

For example, the following "set-body" builds an XML document as the Azure request body by converting JSON object properties from the original client request body to XML elements:

<set-body template="liquid">
    <soap:Envelope xmlns="http://fyicenter.com/" 
      xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
        <soap:Body>
            <GetOrders>
                <Customer>{{body.getOrders.customer}}</Customer>
            </GetOrders>
        </soap:Body>
    </soap:Envelope>
</set-body>

You can also access the following properties of the built-in object "context" using Liquid codes "{{...}}":

context.
    Request.
        Url.
           Scheme
           Host
           Port
           Path
           Query
           QueryString
           ToUri
           ToString
        Method
        OriginalMethod
        OriginalUrl.
       ...
        IpAddress
        MatchedParameters
        HasBody
        ClientCertificates
        Headers

    Response.
        StatusCode
        Method
        Headers

For more information on "{{...}}" Liquid codes, see Liquid code Website.

 

Policy to Control Backend Service

'set-body' Azure API Policy Statement

Policy to Modify Request and Response Body

⇑⇑ Microsoft Azure API Management Tutorials

2017-12-04, 5112🔥, 0💬