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. | Sì | 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
- Sezioni del criterio: inbound
- Ambiti del criterio: globale, area di lavoro, prodotto, API, operazione
- Gateway: classico, v2, consumo, self-hosted
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 -->
Criteri correlati
Contenuto correlato
Per ulteriori informazioni sull'utilizzo dei criteri, vedere:
- Esercitazione: Trasformare e proteggere l'API
- Informazioni di riferimento sui criteri per un elenco completo delle istruzioni dei criteri e delle relative impostazioni
- Espressioni di criteri
- Impostare o modificare criteri
- Riutilizzare le configurazioni dei criteri
- Repository dei frammenti di criteri
- Creare criteri con Microsoft Copilot per Azure