Přepsat adresu URL

PLATÍ PRO: Všechny úrovně služby API Management

Zásada rewrite-uri převede adresu URL požadavku z jejího veřejného formuláře na formulář očekávaný webovou službou, jak je znázorněno v následujícím příkladu.

  • Veřejná adresa URL – http://api.example.com/storenumber/ordernumber

  • Adresa URL požadavku – http://api.example.com/v2/US/hardware/storenumber&ordernumber?City&State

Tuto zásadu lze použít, když by webová služba měla převést adresu URL popisnou pro člověka nebo prohlížeč do formátu adresy URL očekávaného webovou službou. Tuto zásadu je potřeba použít jenom při zveřejnění alternativního formátu adresy URL, jako jsou čisté adresy URL, adresy URL RESTful, uživatelsky přívětivé adresy URL nebo adresy URL, které jsou čistě strukturální adresy URL, které neobsahují řetězec dotazu, a místo toho obsahují pouze cestu k prostředku (po schématu a autoritě). To se často provádí pro účely estetické, použitelnosti nebo optimalizace vyhledávače (SEO).

Poznámka:

Nastavte prvky zásad a podřízené prvky v pořadí uvedeném v prohlášení o zásadách. Přečtěte si další informace o tom, jak nastavit nebo upravit zásady služby API Management.

Prohlášení o zásadách

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

Atributy

Jméno Popis Požaduje se Výchozí
šablona Skutečná adresa URL webové služby s libovolnými parametry řetězce dotazu. Výrazy zásad jsou povolené. Při použití výrazů musí být celá hodnota výrazem. Yes
copy-unmatched-params Určuje, jestli se parametry dotazu v příchozím požadavku, které nejsou přítomné v původní šabloně adresy URL, přidají do adresy URL definované šablonou přepsání. Výrazy zásad jsou povolené. No true

Využití

Poznámky k využití

Parametry řetězce dotazu můžete přidat pouze pomocí zásad. Do adresy URL pro přepsání nemůžete přidat další parametry cesty šablony.

Příklad

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

Další informace o práci se zásadami najdete v tématech: