Как с помощью службы управления API Azure проанализировать свойство запроса перед отправкой в ​​серверный API? - PullRequest
0 голосов
/ 05 ноября 2019

У меня есть запрос от клиентского приложения, и мне нужно условно проанализировать 1 из отправленных полей запроса.

Пример. Предположим, я POST с телом запроса с двумя полями

{"ID":"123","IPAddress":"127.0.0.1"}

или

{"ID":"123","IPAddress":"127.0.0.1, 127.0.0.2"}

Мне нужно проверить, если IP-адрес имеет разделенный запятой набор, иесли это так, выполните синтаксический анализ самого левого IP-адреса

Как я могу добиться этого с помощью API шлюза управления Azure API? Политика

1 Ответ

1 голос
/ 05 ноября 2019

Я не тестировал, но вы должны иметь возможность использовать для него политику set-body:

<policies>
    <inbound>
        <base />
        <set-body>
        @{
            var body = context.Request.Body.As<JObject>();
            if (body.Property("IPAddress").Contains(","))
            {
                var ips = body.Property("IPAddress").Split(",");

                body.Property("IPAddress").Value = ips[ips.Length -1].Trim();
            }
        }
        </set-body>
    </inbound>
</policies>
...