URL neu schreiben

GILT FÜR: Alle API Management-Ebenen

Die Richtlinie rewrite-uri konvertiert eine Anforderungs-URL von der öffentlichen Form in die vom Webdienst erwartete Form, wie im folgenden Beispiel gezeigt.

  • Öffentliche URL: http://api.example.com/storenumber/ordernumber

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

Diese Richtlinie kann verwendet werden, um benutzer- oder browserfreundliche URLs in das vom Webdienst erwartete Format umzuwandeln. Diese Richtlinie muss nur angewendet werden, wenn ein alternatives URL-Format genutzt wird, beispielsweise bereinigte URLs, RESTful-URLs, benutzerfreundliche URLs oder SEO-freundliche URLs, die rein strukturelle URLs sind, die keine Abfragezeichenfolge enthalten, sondern nur den Pfad der Ressource (nach Schema und Berechtigung). Dies geschieht oft aus Gründen der Ästhetik, Benutzerfreundlichkeit oder zur Suchmaschinenoptimierung (SEO).

Hinweis

Legen Sie die Elemente und untergeordneten Elemente einer Richtlinie in der Reihenfolge fest, die in der Richtlinienanweisung angegeben ist. Erfahren Sie mehr darüber, wie Sie API Management-Richtlinien festlegen oder bearbeiten.

Richtlinienanweisung

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

Attributes

Name BESCHREIBUNG Erforderlich Standard
Vorlage Die eigentliche Webdienst-URL mit allen Abfrageparametern. Richtlinienausdrücke sind zulässig. Wenn Ausdrücke verwendet werden, muss der gesamte Wert ein Ausdruck sein. Ja
copy-unmatched-params Gibt an, ob Abfrageparameter in der eingehenden Anforderung, die in der ursprünglichen URL-Vorlage nicht enthalten sind, der von der Umschreibevorlage festgelegten URL hinzugefügt werden. Richtlinienausdrücke sind zulässig. Nein true

Verwendung

Hinweise zur Verwendung

Sie können mit der Richtlinie nur Abfrageparameter hinzufügen. Sie können keine zusätzlichen Vorlagenpfadparameter in die umgeschriebene URL einfügen.

Beispiel

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

Weitere Informationen zum Arbeiten mit Richtlinien finden Sie hier: