Skriv om URL
GÄLLER FÖR: Alla API Management-nivåer
Principen rewrite-uri
konverterar en begärande-URL från sitt offentliga formulär till det formulär som förväntas av webbtjänsten, enligt följande exempel.
Offentlig URL –
http://api.example.com/storenumber/ordernumber
Begärande-URL –
http://api.example.com/v2/US/hardware/storenumber&ordernumber?City&State
Den här principen kan användas när en mänsklig och/eller webbläsarvänlig URL ska omvandlas till det URL-format som förväntas av webbtjänsten. Den här principen behöver bara tillämpas när du exponerar ett alternativt URL-format, till exempel rena URL:er, RESTful-URL:er, användarvänliga URL:er eller SEO-anpassade URL:er som är rent strukturella URL:er som inte innehåller en frågesträng och i stället bara innehåller resurssökvägen (efter schemat och utfärdaren). Detta görs ofta för estetiska ändamål, användbarhet eller sökmotoroptimering (SEO).
Kommentar
Ange principens element och underordnade element i den ordning som anges i principbeskrivningen. Läs mer om hur du anger eller redigerar API Management-principer.
Principuttryck
<rewrite-uri template="uri template" copy-unmatched-params="true | false" />
Attribut
Namn | beskrivning | Obligatoriskt | Standardvärde |
---|---|---|---|
mall | Den faktiska webbtjänst-URL:en med alla frågesträngsparametrar. Principuttryck tillåts. När uttryck används måste hela värdet vara ett uttryck. | Ja | Ej tillämpligt |
copy-unmatched-params | Anger om frågeparametrar i den inkommande begäran som inte finns i den ursprungliga URL-mallen läggs till i den URL som definieras av omskrivningsmallen. Principuttryck tillåts. | Nej | true |
Förbrukning
- Principavsnitt: inkommande
- Principomfattningar: global, arbetsyta, produkt, API, åtgärd
- Gatewayer: klassisk, v2, förbrukning, lokalt installerad, arbetsyta
Användningsanteckningar
Du kan bara lägga till frågesträngsparametrar med hjälp av principen. Du kan inte lägga till extra mallsökvägsparametrar i omskrivnings-URL:en.
Exempel
<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 -->
Relaterade principer
Relaterat innehåll
Mer information om hur du arbetar med principer finns i:
- Självstudie: Transformera och skydda ditt API
- Principreferens för en fullständig lista över principinstruktioner och deras inställningar
- Principuttryck
- Ange eller redigera principer
- Återanvända principkonfigurationer
- Lagringsplats för principfragment
- Skapa principer med Microsoft Copilot i Azure