Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ОБЛАСТЬ ПРИМЕНЕНИЯ: все уровни Управление API
Политика преобразует URL запроса из его публичной формы в форму, rewrite-uri ожидаемую веб-сервисом.
Используйте эту политику, когда нужно преобразовать удобный для человека или браузера URL в ожидаемый веб-сервисом формат. Применяйте эту политику только при использовании альтернативного формата URL, таких как чистые URL, RESTful URL, удобные для пользователя URL или SEO-дружественные URL, которые не содержат строки запроса, а только путь ресурса (после схемы и авторитета). Вы часто делаете это изменение ради эстетики, удобства использования или поисковой оптимизации (SEO).
Примечание.
Задайте элементы политики и дочерние элементы в порядке, указанном в правиле политики. Узнайте, как устанавливать или изменять политики службы управления API.
Правило политики
<rewrite-uri template="uri template" copy-unmatched-params="true | false" />
Атрибуты
| Имя. | Описание | Обязательное поле | По умолчанию. |
|---|---|---|---|
| JSON | Фактический URL-адрес веб-службы с любыми параметрами строки запроса. Допустимы выражения политики. При использовании выражений все значение должно быть выражением. | Да | Н/П |
| Copy-unmatched-params | Указывает, добавляются ли параметры запроса в входящем запросе, отсутствующие в исходном шаблоне URL, к URL, определённому шаблоном переписи. Допустимы выражения политики. | нет | true |
Использование
- Разделы политики: inbound.
- Области политики: глобальная, рабочая область, продукт, API, операция
- Шлюзы: классическая, версия 2, потребление, локальное размещение, рабочая область
Примечания об использовании
Вы можете добавить параметры строк запроса только с помощью политики. Нельзя добавлять дополнительные параметры пути шаблона в переписанный URL.
Примеры
Пример 1: Базовое переписывание URL
В следующем примере публичный URL переписывается в соответствии с форматом серверного сервиса, а параметры запроса включаются на основе другой логики.
Открытый URL —
http://api.example.com/storenumber/ordernumber.URL-адрес запроса —
http://api.example.com/v2/US/hardware/storenumber/ordernumber?City&State.
<policies>
<inbound>
<base />
<rewrite-uri template="/v2/US/hardware/{storenumber}/{ordernumber}?City=city&State=state" />
</inbound>
<outbound>
<base />
</outbound>
</policies>
Пример 2: Копирование несопоставленных параметров
В следующем примере публичный URL переписывается в соответствии с форматом серверного сервиса, а политика копирует любые несогласованные параметры запроса на новый URL.
<!-- Assuming incoming request is /get?a=b&c=d and operation template is set to /get?a={b} -->
<policies>
<inbound>
<base />
<rewrite-uri template="/put" />
</inbound>
<outbound>
<base />
</outbound>
</policies>
<!-- Resulting URL will be /put?c=d -->
Пример 3: Не копировать несовпадающие параметры
В следующем примере публичный URL переписывается в соответствии с форматом серверного сервиса, и политика удаляет все несоответствующие параметры запроса.
<!-- Assuming incoming request is /get?a=b&c=d and operation template is set to /get?a={b} -->
<policies>
<inbound>
<base />
<rewrite-uri template="/put" copy-unmatched-params="false" />
</inbound>
<outbound>
<base />
</outbound>
</policies>
<!-- Resulting URL will be /put -->
Пример 4: Используйте выражение политики в шаблоне
В следующем примере политика использует выражения в шаблоне для построения запроса к бэкенду.
<policies>
<inbound>
<base />
<set-variable name="apiVersion" value="/v3" />
<rewrite-uri template="@("/api" + context.Variables["apiVersion"] + context.Request.Url.Path)" />
</inbound>
</policies>
Связанные политики
Связанный контент
Дополнительные сведения о работе с политиками см. в нижеуказанных статьях.
- Руководство. Преобразование и защита API
- Полный перечень операторов политик и их параметров см. в справочнике по политикам.
- Выражения политики
- Настройка или изменение политик
- Повторное использование конфигураций политик
- Репозиторий фрагментов политик
- репозиторий Policy
- Набор средств политики Управление API Azure
- Получите помощь Copilot для создания, объяснения и устранения неполадок в политике