Tools, FAQ, Tutorials:
'@{...}' Expression Blocks in Azure API Policy
How to use the "@{...}" expression block in Azure API Policy?
✍: FYIcenter.com
The "@{...}" expression block in Azure API Policy can be used
to include a C# statement block as the attribute value or text value in most policy statements.
C# statement block in the "@{...}" expression block must end with a "return" statement.
When a "@{...}" expression block is included in a policy statement, the C# statement block will be executed first and the returned value of the "return" statement will be used in the policy statement.
For example, the following "set-body" outbound policy statement uses a "@{...}" expression block to remove a number of properties from response body:
<set-body>@{ var response = context.Response.Body.As<JObject>(); foreach (var key in new [] {"minutely", "hourly", "daily"}) { response.Property(key).Remove(); } return response.ToString(); } </set-body>
Note that the C# statements inside "@{...}" must be XML friendly. For example, the "<" character should be replaced with <:
<trace source="MyDebug">@{context.Response.Body.As<JObject>().ToString()}</trace>
Also note that the "@{...}" expression block can not be mixed with text as attribute values or text contents. The following examples are wrong uses of "@(...)" expressions:
<set-variable name="message" value="Hello @{return "world!";}" /> <trace source="MyDebug">Hello @{return "world!";}</trace> <trace source="MyDebug">@{return "Hello";} world!</trace>
For more information on "@{...}" expression blocks, see API Management policy expressions Website.
⇒ Using the 'context' Object in Policy Expressions
2018-02-14, 2476🔥, 0💬
Popular Posts:
What are "*..." and "**..." Wildcard Parameters in Function Definitions? If you want to define a fun...
How To Avoid the Undefined Index Error in PHP? If you don't want your PHP page to give out errors as...
How To Read a File in Binary Mode in PHP? If you have a file that stores binary data, like an execut...
Why I am getting "The Windows SDK version 8.1 was not found" error, when building my C++ application...
How to create a new API on the Publisher Dashboard of an Azure API Management Service? If you are ne...