Перезаписать 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

Использование

Примечания об использовании

Используя политику, можно добавлять только параметры строки запроса. В 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 -->

Дополнительные сведения о работе с политиками см. в нижеуказанных статьях.