Reescribir dirección URL

SE APLICA A: todos los niveles de API Management

La directiva rewrite-uri convierte una dirección URL de solicitud de su forma pública a la que espera recibir el servicio web, como se muestra en el siguiente ejemplo.

  • URL pública: http://api.example.com/storenumber/ordernumber

  • URL de solicitud: http://api.example.com/v2/US/hardware/storenumber&ordernumber?City&State

Esta directiva se puede utilizar cuando una URL apta para el explorador o para individuos debe transformarse en el formato de URL que espera el servicio web. Esta directiva solo debe aplicarse al exponer un formato de URL alternativo como URL limpias, direcciones URL RESTful, y direcciones URL sencillas o aptas para optimización del motor de búsqueda que son URL puramente estructurales sin una cadena de consulta, solo con la ruta del recurso (después del esquema y la autoridad). Este procedimiento se realiza con fines estéticos, de usabilidad o de optimización del motor de búsqueda (SEO).

Nota

Establezca los elementos de la directiva y los elementos secundarios en el orden proporcionado en la instrucción de directiva. Obtenga más información sobre el establecimiento o modificación de directivas de API Management.

Instrucción de la directiva

<rewrite-uri template="uri template" copy-unmatched-params="true | false" />

Atributos

Asignar nombre Descripción Necesario Valor predeterminado
template La dirección URL del servicio web real con cualquier parámetro de cadena de consulta. Se permiten expresiones de directiva. Cuando se usan expresiones, todo el valor debe ser una expresión. N/D
copy-unmatched-params Especifica si los parámetros de consulta de la solicitud entrante no presentes en la plantilla de la dirección URL original se agregan a la dirección URL definida por la plantilla de reescritura. Se permiten expresiones de directiva. No true

Uso

Notas de uso

Solo puede agregar parámetros de cadena de consulta mediante esta directiva. No puede agregar ningún parámetro de ruta de plantilla adicional en la URL de reescritura.

Ejemplo

<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 -->

Para más información sobre el trabajo con directivas, vea: