Получить параметры маршрута в разделе политики Azure API Management Inboud - PullRequest
0 голосов
/ 02 апреля 2020

У меня есть URL с параметрами шаблона.

https://test.azure-api.net/HelperFunction/{siteId}/lots/InventoryItem/{itemId}
https://test.azure-api.net/HelperFunction/122/lots/InventoryItem/12

Я хотел прочитать параметры шаблона / пути в разделе входящей политики.

Я пытаюсь, как показано ниже. Но он будет только получать параметры строки запроса. Я хотел получить параметры пути.

 <inbound>
        <set-body>@{
                JObject transBody = new JObject();
                transBody.Add("Arguments", 
                new JObject
                {
                    {"method", context.Request.Method},
                    {"parameters", context.Request.Url.QueryString},
                });

                //Add all json properties as arg
                transBody.Add("UriPath", context.Request.Url.Path);
                return transBody.ToString();
            }</set-body>
        <base />
 </inbound>

Мое требование состояло бы в том, чтобы прочитать параметры маршрута как

"siteId" : 122,
"itemId" : 12

. Любая помощь будет принята.

1 Ответ

0 голосов
/ 04 апреля 2020

context.Request.MatchedParameters["siteId"] и context.Request.MatchedParameters["itemId"]

Остальные переменные контекста можно найти здесь: https://docs.microsoft.com/en-us/azure/api-management/api-management-policy-expressions#ContextVariables

...