Riscrivi URL

SI APPLICA A: Tutti i livelli di Gestione API

Il criterio rewrite-uri converte un URL di richiesta dal formato pubblico al formato previsto dal servizio Web, come mostrato nell'esempio seguente.

  • URL pubblico - http://api.example.com/storenumber/ordernumber

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

Il criterio può essere usato quando un URL ideale per utenti e/o per il browser deve essere trasformato nel formato di URL previsto dal servizio Web. Questo criterio deve essere applicato solo quando si espone un formato URL alternativo, ad esempio URL puliti, URL RESTful, URL descrittivi o URL edizione Standard O-friendly che sono URL puramente strutturali che non contengono una stringa di query e contengono invece solo il percorso della risorsa (dopo lo schema e l'autorità). Sono spesso usati a fini estetici, di usabilità o di ottimizzazione dei motori di ricerca (SEO, Search Engine Optimization).

Nota

Impostare gli elementi e gli elementi figlio del criterio nell'ordine specificato nell'istruzione dei criteri. Altre informazioni su come impostare o modificare i criteri di Gestione API.

Istruzione del criterio

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

Attributi

Nome Descrizione Richiesto Valore predefinito
annidato URL effettivo del servizio Web con eventuali parametri delle stringhe di query. Le espressioni di criteri sono consentite. Quando vengono usate espressioni, l'intero valore deve essere un'espressione. N/D
copy-unmatched-params Specifica se i parametri di query nella richiesta in ingresso non presenti nel modello url originale vengono aggiunti all'URL definito dal modello di riscrittura. Le espressioni di criteri sono consentite. No true

Utilizzo

Note sull'utilizzo

Il criterio consente di aggiungere solo parametri delle stringhe di query. Non è possibile aggiungere parametri aggiuntivi per il percorso del modello nell'URL di riscrittura.

Esempio

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

Per ulteriori informazioni sull'utilizzo dei criteri, vedere: