Dela via


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

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

Mer information om hur du arbetar med principer finns i: