Управление API Azure: заменить имя параметра строки запроса - PullRequest
0 голосов
/ 06 апреля 2019

Новое в APIM. Попытка изменить открытое имя параметра строки запроса (но не значение) с другим именем, которое ожидает серверный интерфейс API

Например, конечная точка APIM ожидает / v1 / Customer? CustomerId = 123

Я думаю, что мне нужно использовать политику rewrite-url во входящем разделе?

Чтобы изменить это на следующее: / v1 / Customer? ExternalCustomerId = 123


пытался это, не работает

<set-query-parameter name="ExternalCustomerId" exists-action="append">
        <value>@(Context.Request.QueryString["CustomerId"])</value>
    </set-query-parameter>

Ошибка: имя «Контекст» не существует в текущем контексте

1 Ответ

1 голос
/ 06 апреля 2019

Попробуйте строчные буквы "context".Плюс QueryString является IReadOnlyDictionary, как описано здесь: https://docs.microsoft.com/en-us/azure/api-management/api-management-policy-expressions#ContextVariables,, но есть удобная перегрузка:

<set-query-parameter name="ExternalCustomerId" exists-action="append">
    <value>@(context.Request.QueryString.GetValueOrDefault("CustomerId"))</value>
</set-query-parameter>
...