Schritt 5: Richtlinie hinzufügen

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:

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

  2. Wählen Sie in der Liste der Proxys den Proxy aus, dem Sie die Richtlinie hinzufügen möchten.
  3. Klicken Sie auf den Tab Entwickeln.

  4. Klicken Sie im linken Bereich neben dem Ordner Richtlinien auf die Schaltfläche +.
  5. Klicken Sie im Dialogfeld Richtlinie erstellen in das Feld Richtlinientyp auswählen, scrollen Sie nach unten zu Mediation und wählen Sie XML zu JSON.

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

    Erstellen Sie den "Richtlinie erstellen"-Dialog.

    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:

Richtlinie "XML To JSON", die in der Entwicklungsansicht angezeigt wird.

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 Informationssymbol neben dem Richtliniennamen aus und klicken Sie auf Richtlinie „XML To JSON”. Dadurch wird die Referenzseite für die Richtlinie angezeigt.

Richtlinienname ändern

So ändern Sie den Namen einer Richtlinie:

  1. Wählen Sie im linken Bereich unter Richtlinien die Richtlinie aus.
  2. Fügen Sie im Element <DisplayName> des XML-Code für die Richtlinie eine beschreibende Wortgruppe, z. B. change-xml-to-json, nach der Abkürzung für den Richtliniennamen ein:

    Fügen Sie change-xml-to-json dem Richtliniennamen hinzu.

    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:

  1. Wählen Sie im linken Bereich Proxy-Endpunkte > Standard > PreFlow:

    Wählen Sie Zielendpunkte für PreFlow im Proxy-Explorer aus.

    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.

  2. Klicken Sie auf die Schaltfläche + neben PreFlow im Antwortbereich unten rechts im visuellen Editor:

    Klicken Sie im Antwortbereich neben PreFlow auf die Schaltfläche "+".

  3. Wählen Sie im Dialogfeld Richtlinienschritt hinzufügen die Richtlinie X2J-change-xml-to-json aus.
  4. Klicken Sie auf Hinzufügen, um die Richtlinie anzuhängen.

    Die Richtlinie X2J-change-xml-to-json wird jetzt im Bereich Antwort angezeigt:

    "XML-zu-JSON"-Richtlinie, die im Antwortbereich angezeigt wird.

  5. Klicken Sie auf Speichern, um die aktuelle Überarbeitung mit Ihren Änderungen zu speichern.
  6. 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:

  1. Rufen Sie die Apigee-Benutzeroberfläche in einem Browser auf und melden Sie sich an.
  2. 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.
  3. Klicken Sie auf den Tab Entwickeln:

    Wählen Sie im Proxy-Editor den Tab Entwickeln.

    Apigee ruft den API-Proxy-Editor auf.

  4. Klicken Sie im Bereich Navigator auf Proxy-Endpunkte > Standard > PreFlow:

    Apigee ruft den Ablaufeditor auf:

    Ablaufeditor.

    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>
  5. 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):

    + Schritt-Schaltfläche im Antwort PreFlow.

    Im Dialogfeld Hinzufügen wird eine kategorisierte Liste von Richtlinien angezeigt, die Sie Ihrem Ablauf hinzufügen können:

    Richtlinienliste.

  6. Scrollen Sie nach unten und wählen Sie in der Kategorie "Mediation" die Richtlinie XMLtoJSON aus.
  7. Übernehmen Sie die Standardnamen und klicken Sie auf Hinzufügen.

    Apigee hängt die neue Richtlinie an den PreFlow der Antwort an:

    Neue Richtlinie, die im Preflow der Antwort angehängt ist.

    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.
  8. Klicken Sie auf Speichern, um die aktuelle Überarbeitung mit Ihren Änderungen zu speichern.
  9. 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:

  1. 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 auf apigee.net und nicht auf apigee.com zugreifen.
  2. 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"
  }
}

Nächster Schritt

Tiefer einsteigen