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. | Sí | 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
- Secciones de la directiva: inbound (entrada)
- Ámbitos de la directiva: global, área de trabajo, producto, API, operación
- Puertas de enlace: clásica, v2, consumo, autohospedada y área de trabajo
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 -->
Directivas relacionadas
Contenido relacionado
Para más información sobre el trabajo con directivas, vea:
- Tutorial: Transformación y protección de una API
- Referencia de directivas para una lista completa de instrucciones de directivas y su configuración
- Expresiones de directiva
- Establecimiento o edición de directivas
- Reutilización de configuraciones de directivas
- Repositorio de fragmentos de código de directiva
- Creación de directivas mediante Microsoft Copilot en Azure