Diese Seite gilt für Apigee und Apigee Hybrid.
Apigee Edge-Dokumentation aufrufen
Nachdem Sie Ihren Zielendpunkt geändert haben, können Sie Ihrem Proxy eine Richtlinie hinzufügen.
Eine Richtlinie ist eine Apigee-Komponente, die Sie an verschiedenen Stellen im Nachrichtenfluss über Ihre API-Proxys anhängen können. Richtlinien können Nachrichtenformate konvertieren, die Zugriffssteuerung erzwingen, Remote-Dienste aufrufen, Nutzer autorisieren, Nachrichteninhalte auf mögliche Gefährdungen prüfen und vieles mehr.
In dieser Anleitung fügen Sie Ihrem Proxy die XML-zu-JSON-Richtlinie hinzu. Diese Richtlinie konvertiert die Nutzlast einer XML-Nachricht in JSON. Außerdem wird der Content-Type
-Header der Antwort geändert.
Sie können eine Richtlinie an einen Ablauf im Proxy anhängen. Abläufe steuern die Ausführung von Richtlinien. In diesem Beispiel fügen Sie die Richtlinie einem speziellen Ablauf hinzu, der als PreFlow bezeichnet wird. Richtlinien im PreFlow werden vor allen anderen Richtlinien im Proxy ausgeführt. Auch wenn Sie Abläufe nicht im Detail verstehen müssen, um dieses Beispiel zu lesen, finden Sie weitere Informationen unter API-Proxys mit Abläufen steuern.
Neuer Proxy-Editor
Es sind zwei Schritte erforderlich, um die XMLtoJSON-Richtlinie Ihrem Proxy hinzuzufügen:
Eine Instanz der Richtlinie erstellen
Um eine Richtlinie zu verwenden, müssen Sie zuerst eine neue Instanz der Richtlinie aus der Richtlinienvorlage erstellen:
Wenn Sie die Apigee-UI in der Cloud Console verwenden: Wählen Sie Proxy-Entwicklung > API-Proxys aus.
Wenn Sie die klassischeApigee-UI verwenden: Wählen Sie Entwickeln > API-Proxys aus und im Bereich Proxys wählen Sie die Umgebung für den Proxy aus.
- Wählen Sie in der Liste der Proxys den Proxy aus, dem Sie die Richtlinie hinzufügen möchten.
Klicken Sie auf den Tab Entwickeln.
- Klicken Sie im linken Bereich neben dem Ordner Richtlinien auf die Schaltfläche +.
- Wählen Sie im Dialogfeld Richtlinie erstellen die Option Standardrichtlinien aus, um die verfügbare Richtlinienliste nach Richtlinientyp zu filtern.
- Scrollen Sie im Textfeld Richtlinientyp auswählen nach unten zu Mediation und wählen Sie XML zu JSON aus.
Optional können Sie den Namen und den Anzeigenamen der Richtlinie ändern. Standardmäßig stellt Apigee ein kurzes Präfix für den Richtliniennamen bereit, in diesem Fall X2J-. Sie können eine Folge von beschreibenden Wörtern hinzufügen, die durch Bindestriche getrennt sind. Siehe Namenskonventionen.
Wenn Sie fertig sind, klicken Sie auf Erstellen, um die Richtlinie zu erstellen.
Die Richtlinie "XML To JSON" wird jetzt im rechten Bereich der Ansicht Entwicklung angezeigt:
In der unteren Hälfte des Fensters wird der XML-Code für die Richtlinie angezeigt.
Für weitere Informationen zur Richtlinie wählen Sie das Informationssymbol neben dem Richtliniennamen aus und klicken Sie auf Richtlinie „XML To JSON”. Dadurch wird die Referenzseite für die Richtlinie angezeigt.
Richtlinienanleitungen mit Gemini Code Assist prüfen
Wenn Sie das Gemini Code Assist-Add-on nutzen, können Sie ein Richtlinienelement markieren, um Informationen zu diesem Element und seiner Verwendung aufzurufen. Weitere Informationen finden Sie unter Gemini Code-Assistent-Code mit Richtlinien verwenden.
Richtlinienname ändern
So ändern Sie den Namen einer Richtlinie:
- Wählen Sie im linken Bereich unter Richtlinien die Richtlinie aus.
- Fügen Sie im Element <DisplayName> des XML-Code für die Richtlinie eine beschreibende Wortgruppe, z. B. <DisplayName>, nach der Abkürzung für den Richtliniennamen ein:
Dadurch wird automatisch der unter Richtlinien angezeigte Richtlinienname aktualisiert.
Siehe Namenskonventionen.
Die Richtlinie an einen Schritt im PreFlow anhängen
Nachdem Sie die Richtlinie XML zu JSON erstellt haben, können Sie sie an einen Schritt im PreFlow anhängen:
- Wählen Sie im linken Bereich Proxy-Endpunkte > Standard > PreFlow:
Hinweis: Möglicherweise müssen Sie den visuellen Editor im rechten Bereich erweitern, um alle Elemente anzuzeigen. Klicken Sie dazu auf die Trennlinie zwischen dem visuellen Editor und dem Texteditor.
- Klicken Sie auf die Schaltfläche + neben PreFlow im PreFlow unten rechts im visuellen Editor:
- Wählen Sie im Dialogfeld Richtlinienschritt hinzufügen die Richtlinie X2J-change-xml-to-json aus.
Klicken Sie auf Hinzufügen, um die Richtlinie anzuhängen.
Die Richtlinie X2J-change-xml-to-json wird jetzt im Bereich Antwort angezeigt:
- Klicken Sie auf Speichern, um die aktuelle Überarbeitung mit Ihren Änderungen zu speichern.
- Klicken Sie zum Bereitstellen Ihrer Änderungen für die Überarbeitung auf Bereitstellen und folgen Sie der Anleitung unter API-Proxy bereitstellen.
Klassischer Proxy-Editor
So fügen Sie Ihrem Proxy die XMLtoJSON-Richtlinie hinzu:
- Rufen Sie die Apigee-Benutzeroberfläche in einem Browser auf und melden Sie sich an.
- Klicken Sie im Hauptfenster auf API Proxys und wählen Sie einen Proxy aus. Wählen Sie für dieses Beispiel den Proxy aus, den Sie in Schritt 2: API-Proxy erstellen angelegt haben.
Klicken Sie auf den Tab Entwickeln:
Apigee ruft den API-Proxy-Editor auf.
Klicken Sie im Bereich Navigator auf Proxy-Endpunkte > Standard > PreFlow:
Apigee ruft den Ablaufeditor auf:
Außerdem wird im Bereich Code die Standardkonfiguration des Proxy-Endpunkts angezeigt:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ProxyEndpoint name="default"> <Description/> <FaultRules/> <PreFlow name="PreFlow"> <Request/> <Response/> </PreFlow> <PostFlow name="PostFlow"> <Request/> <Response/> </PostFlow> <Flows/> <HTTPProxyConnection> <BasePath>/myproxy</BasePath> <Properties/> <VirtualHost>default</VirtualHost> <VirtualHost>secure</VirtualHost> </HTTPProxyConnection> <RouteRule name="default"> <TargetEndpoint>default</TargetEndpoint> </RouteRule> </ProxyEndpoint>
- Klicken Sie zum Hinzufügen einer Richtlinie zu Ihrem Proxy auf die Schaltfläche + Schritt im PreFlow der Antwort (die untere Hälfte des Ablaufeditors):
Im Dialogfeld Hinzufügen wird eine kategorisierte Liste von Richtlinien angezeigt, die Sie Ihrem Ablauf hinzufügen können:
- Scrollen Sie nach unten und wählen Sie in der Kategorie "Mediation" die Richtlinie XMLtoJSON aus.
Übernehmen Sie die Standardnamen und klicken Sie auf Hinzufügen.
Apigee hängt die neue Richtlinie an den PreFlow der Antwort an:
Beachten Sie, dass beim Klicken auf Hinzufügen Folgendes in Apigee ausgeführt wird:
- Die neue Richtlinie wird im Bereich Navigator unter Richtlinien hinzugefügt.
- Die XMLtoJSON-Richtlinie wird im Bereich Ablauf hinzugefügt.
- Die XML-Konfigurationsdatei der Richtlinie wird im Bereich Code angezeigt.
- Klicken Sie auf Speichern, um die aktuelle Überarbeitung mit Ihren Änderungen zu speichern.
- Klicken Sie zum Bereitstellen der Änderungen auf den Tab Übersicht und wählen Sie Bereitstellen aus.
Neue Richtlinie testen
Führen Sie folgenden curl
-Befehl in einem Terminalfenster aus, um die neue Richtlinie zu testen:
curl https://YOUR_ENV_GROUP_HOSTNAME/myproxy
Dabei ist YOUR ENV_GROUP_HOSTNAME
der Hostname der Umgebungsgruppe. Weitere Informationen finden Sie unter Hostname der Umgebungsgruppe finden.
Weitere Informationen finden Sie unter API-Proxy aufrufen.
Alternativ können Sie diese URL in einem Browser öffnen.
Sie sollten die folgende Antwort erhalten:
{ "root": { "city": "San Jose", "firstName": "John", "lastName": "Doe", "state": "CA" } }
Wenn der Antworttext anders aussieht, prüfen Sie Folgendes:
- Ihr Zielendpunkt ist
https://mocktarget.apigee.net/xml
, wie unter Schritt 4: Zielendpunkt ändern beschrieben:- Wenn Sie
Hello, Guest!
als Antwort erhalten, müssen Sie/xml
an das Ende des Zielendpunkts anhängen. - Wenn Sie ein
404
erhalten, prüfen Sie, ob Sie aufapigee.net
und nicht aufapigee.com
zugreifen.
- Wenn Sie
- Die aktuelle Überarbeitung Ihres Proxys wird bereitgestellt. Versuchen Sie, Ihren API-Proxy wie unter API-Proxy bereitstellen und Bereitstellung eines API-Proxys aufheben erläutert noch einmal bereitzustellen.
Wenn Sie die HTTP-Anfrage- und die HTTP-Antwort-Header sehen möchten, aktivieren Sie die Ausführlichkeit in curl
mit der Option -vs
. v
macht die Antwort sichtbar, s
unterdrückt dagegen einige der weniger wichtige Details. Im folgenden Beispiel wird davon ausgegangen, dass der Proxy den Namen myproxy
hat:
curl -vs https://YOUR_ENV_GROUP_HOSTNAME/myproxy | python -m json.tool
Sie sollten eine Antwort wie die im Folgenden aufgeführte erhalten. Der Content-Type
-Header in der Antwort lautet application/json
.
Die XMLtoJSON-Richtlinie ändert den Header, bevor die Antwort zurückgesendet wird.
* Trying 10.20.30.40... * TCP_NODELAY set * Connected to apitest.acme.com (10.20.30.40) port 443 (#0) ... > GET /myproxy HTTP/1.1 > Host: apitest.acme.com > User-Agent: curl/7.58.0 > Accept: */* > < HTTP/1.1 200 OK < Date: Fri, 25 May 2018 16:20:00 GMT < Content-Type: application/json;charset=UTF-8 < Content-Length: 77 < Connection: keep-alive < X-Powered-By: Apigee < Access-Control-Allow-Origin: * ... { [77 bytes data] { "root": { "city": "San Jose", "firstName": "John", "lastName": "Doe", "state": "CA" } }