Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
GILT FÜR: Alle API Management-Ebenen
Die rewrite-uri Richtlinie wandelt eine Anfrage-URL von ihrer öffentlichen Form in die vom Webservice erwartete Form um.
Verwenden Sie diese Richtlinie, wenn Sie eine menschenfreundliche oder browserfreundliche URL in das vom Webdienst erwartete URL-Format umwandeln müssen. Wenden Sie diese Richtlinie nur an, wenn Sie ein alternatives URL-Format offenlegen, wie z. B. saubere URLs, RESTful-URLs, benutzerfreundliche URLs oder SEO-freundliche URLs, die rein strukturell sind und keine Abfragezeichenkette enthalten, sondern nur den Pfad der Ressource (nach dem Schema und der Autorität). Oft machen Sie diese Änderung aus ästhetischen, benutzerfreundlichen Gründen oder zu Suchmaschinenoptimierungszwecken (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" />
Attribute
| 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 | Spezifiziert, ob Abfrageparameter in der eingehenden Anfrage, die in der ursprünglichen URL-Vorlage nicht vorhanden sind, zur von der Umschreibvorlage definierten URL hinzugefügt werden. Richtlinienausdrücke sind zulässig. | Nein | true |
Verwendung
- Richtlinienabschnitte: inbound
- Richtlinienbereiche: global, Arbeitsbereich, Produkt, API, Vorgang
- Gateways: klassisch, v2, Verbrauch, selbstgehostet, Arbeitsbereich
Hinweise zur Verwendung
Man kann nur durch die Nutzung der Richtlinie Parameter der Abfragestring-Parameter hinzufügen. Du kannst keine zusätzlichen Template-Pfadparameter in der neu geschriebenen URL hinzufügen.
Examples
Beispiel 1: Grundlegende URL-Umschreibung
Im folgenden Beispiel wird die öffentliche URL umgeschrieben, um dem Backend-Service-URL-Format zu entsprechen, und Abfrageparameter werden basierend auf anderer Logik einbezogen.
Öffentliche URL:
http://api.example.com/storenumber/ordernumberAnforderungs-URL:
http://api.example.com/v2/US/hardware/storenumber/ordernumber?City&State
<policies>
<inbound>
<base />
<rewrite-uri template="/v2/US/hardware/{storenumber}/{ordernumber}?City=city&State=state" />
</inbound>
<outbound>
<base />
</outbound>
</policies>
Beispiel 2: Kopiere nicht abgestimmte Parameter
Im folgenden Beispiel wird die öffentliche URL so umgeschrieben, dass sie mit dem Backend-Service-URL-Format übereinstimmt, und die Richtlinie kopiert alle nicht übereinstimmenden Abfrageparameter auf die neue URL.
<!-- 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 -->
Beispiel 3: Kopiere nicht unübereinstimmte Parameter
Im folgenden Beispiel wird die öffentliche URL umgeschrieben, um mit dem Backend-Service-URL-Format übereinzustimmen, und die Richtlinie lässt alle nicht abgestimmten Abfrageparameter weg.
<!-- 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 -->
Beispiel 4: Verwenden Sie den Policy Expression in der Vorlage
Im folgenden Beispiel verwendet die Richtlinie Ausdrücke in der Vorlage, um die Anfrage an das Backend zu erstellen.
<policies>
<inbound>
<base />
<set-variable name="apiVersion" value="/v3" />
<rewrite-uri template="@("/api" + context.Variables["apiVersion"] + context.Request.Url.Path)" />
</inbound>
</policies>
Verwandte Richtlinien
Zugehöriger Inhalt
Weitere Informationen zum Arbeiten mit Richtlinien finden Sie hier:
- Tutorial: Transformieren und Schützen Ihrer API
- Unter Richtlinien für die API-Verwaltung finden Sie eine komplette Liste der Richtlinienanweisungen und der zugehörigen Einstellungen.
- Richtlinienausdrücke
- Festlegen oder Bearbeiten von Richtlinien
- Wiederverwenden von Richtlinienkonfigurationen
- Repository für Richtliniencodeausschnitte
- Richtlinien-Playground-Repository
- Azure API Management-Richtlinientoolkit
- Anfordern von Copilot-Unterstützung zum Erstellen, Erläutern und Problembehandlung von Richtlinien