Перезаписать URL-адрес
ОБЛАСТЬ ПРИМЕНЕНИЯ: все уровни Управление API
Политика rewrite-uri
преобразовывает URL-адрес запроса из его общедоступной формы в форму, ожидаемую веб-службой, как показано в следующем примере.
Открытый URL —
http://api.example.com/storenumber/ordernumber
.URL-адрес запроса —
http://api.example.com/v2/US/hardware/storenumber&ordernumber?City&State
.
Эту политику можно использовать, когда дружественный для пользователя и/или браузера URL-адрес должен быть преобразован в формат URL-адреса, ожидаемый веб-службой. Эта политика должна применяться только при предоставлении альтернативного формата 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-адрес, определенный шаблоном перезаписи. Допустимы выражения политики. | No | true |
Использование
- Разделы политики: inbound.
- Области политики: глобальная, рабочая область, продукт, API, операция
- Шлюзы: классическая, версия 2, потребление, локальное размещение, рабочая область
Примечания об использовании
Используя политику, можно добавлять только параметры строки запроса. В URL-адрес перезаписи невозможно добавить дополнительные параметры пути шаблона.
Пример
<policies>
<inbound>
<base />
<rewrite-uri template="/v2/US/hardware/{storenumber}&{ordernumber}?City=city&State=state" />
</inbound>
<outbound>
<base />
</outbound>
</policies>
<!-- 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 -->
<!-- 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 -->
Связанные политики
Связанный контент
Дополнительные сведения о работе с политиками см. в нижеуказанных статьях.
- Руководство. Преобразование и защита API
- Полный перечень операторов политик и их параметров см. в справочнике по политикам.
- Выражения политики
- Настройка или изменение политик
- Повторное использование конфигураций политик
- Репозиторий фрагментов политик
- Набор средств политики Управление API Azure
- Создание политик с помощью Microsoft Copilot в Azure