API-Proxy aus einer OpenAPI-Spezifikation erstellen

<ph type="x-smartling-placeholder"></ph> Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur Apigee X-Dokumentation.
Weitere Informationen

Aufgaben in diesem Lab

In dieser Anleitung lernen Sie Folgendes:

  • Edge API-Proxy aus einer OpenAPI-Spezifikation erstellen
  • API-Proxy mithilfe von cURL aufrufen
  • Einem bedingten Ablauf eine Richtlinie hinzufügen
  • Richtlinienaufruf mit cURL testen

In dieser Anleitung erfahren Sie, wie Sie mit der Apigee Edge-Verwaltungs-UI einen Edge API-Proxy aus einer OpenAPI-Spezifikation erstellen. Wenn Sie den API-Proxy mit einem HTTP-Client wie cURL aufrufen, sendet der API-Proxy die Anfrage an den Apigee-Testdienst.

Informationen zur Open API-Initiative

Open API-Initiative
"Die Open API-Initiative (OAI) konzentriert sich auf das Erstellen, Entwickeln und Bewerben eines neutralen API-Beschreibungsformats basierend auf der Swagger-Spezifikation". Weitere Informationen zur Open API-Initiative finden Sie unter https://openapis.org.

Eine OpenAPI-Spezifikation verwendet ein Standardformat, um eine RESTful API zu beschreiben. Eine OpenAPI-Spezifikation, im JSON- oder YAML-Format geschrieben, ist maschinenlesbar, aber auch für Nutzer leicht lesbar. In der Spezifikation werden solche Elemente einer API als Basispfad, Pfade und Verben, Header, Abfrageparameter, Vorgänge, Inhaltstypen, Antwortbeschreibungen usw. beschrieben. Außerdem wird eine OpenAPI-Spezifikation häufig zum Generieren einer API-Dokumentation verwendet.

Apigee-Zieldienst

Der in dieser Anleitung verwendete Apigee-Mock-Target-Dienst wird bei Apigee gehostet und gibt einfache Daten zurück. Ein API-Schlüssel oder ein Zugriffstoken sind nicht erforderlich. Sie können sogar über einen Webbrowser darauf zugreifen. Klicken Sie zum Testen auf folgenden Link:

http://mocktarget.apigee.net

Der Zieldienst gibt die Begrüßung Hello, guest! zurück.

Informationen zu den vollständigen APIs, die der simulierte Zieldienst unterstützt, finden Sie unter den folgenden Links:

http://mocktarget.apigee.net/help

Voraussetzungen

  • Ein Apigee Edge-Konto. Wenn Sie noch kein Konto haben, können Sie sich wie unter Apigee Edge-Konto erstellen beschrieben registrieren.
  • Eine OpenAPI-Spezifikation. In dieser Anleitung verwenden Sie die OpenAPI-Spezifikation mocktarget.yaml, in der der Apigee-Zieldienst http://mocktarget.apigee.net beschrieben ist. Weitere Informationen finden Sie unter https://github.com/apigee/api-platform-samples/tree/master/default-proxies/helloworld/openapi.
  • Sie müssen cURL auf Ihrem Computer installiert haben, um API-Aufrufe über die Befehlszeile auszuführen. oder in einem Webbrowser.

API-Proxy erstellen

Edge

So erstellen Sie den API-Proxy aus einer OpenAPI-Spezifikation mithilfe der Edge-Benutzeroberfläche:

  1. Melden Sie sich unter https://apigee.com/edge an.
  2. Klicken Sie im Hauptfenster auf "API Proxies".

    Alternativ können Sie in der linken Navigationsleiste Develop > API-Proxies auswählen.

    Klicken Sie auf &quot;API Proxies&quot; auf der Landingpage

  3. Klicken Sie auf + Proxy.
    API-Proxy hinzufügen
  4. Klicken Sie im "Create Proxy"-Assistenten auf die Option Use OpenAPI Spec für die Vorlage Reverse Proxy (most common).
    Proxytyp erstellen
  5. Klicken Sie auf Import from URL und geben Sie die folgenden Informationen ein:
    • OpenAPI Spec URL: Pfad zum Rohdateninhalt auf GitHub für die OpenAPI-Spezifikation im Feld URL:
      https://raw.githubusercontent.com/apigee/api-platform-samples/master/default-proxies/helloworld/openapi/mocktarget3.0.yaml
    • Spec name: Name der OpenAPI-Spezifikation, z. B. Mock Target.

      Dieser Name wird zum Speichern der OpenAPI-Spezifikation im Spezifikationsspeicher verwendet. Weitere Informationen finden Sie unter Spezifikationen verwalten.

  6. Klicken Sie auf Import.

    Die Seite "Details" im Assistenten "Create Proxy" wird angezeigt. Die Felder sind mit Werten gefüllt, die in der OpenAPI-Spezifikation definiert sind, wie im Folgenden gezeigt.

    In der folgenden Tabelle werden die Standardwerte beschrieben, die mit Attributen in der OpenAPI-Spezifikation bereits ausgefüllt sind. Im Anschluss an die Tabelle finden Sie einen Auszug aus der OpenAPI-Spezifikation, der die verwendeten Eigenschaften veranschaulicht.

    Feld Beschreibung Default
    Name Name des API-Proxys. Beispiel: Mock-Target-API. title aus der OpenAPI-Spezifikation, wobei Leerzeichen durch Bindestriche ersetzt werden.
    Basispfad Pfadkomponente, die diesen API-Proxy in der Organisation eindeutig identifiziert. Die öffentliche URL dieses API-Proxys besteht aus dem Namen Ihrer Organisation, einer Umgebung, in der dieser API-Proxy bereitgestellt wird, und diesem Basispfad. Beispiel: http://myorg-test.apigee.net/mock-target-api Inhalt des Feldes Name wird in Kleinbuchstaben umgewandelt.
    Beschreibung Beschreibung des API-Proxys. Attribut description aus der OpenAPI-Spezifikation.
    Ziel (vorhandene API) Die Ziel-URL, die im Namen dieses API-Proxys aufgerufen wird. Jede URL, auf die über das offene Internet zugegriffen werden kann, kann verwendet werden. Beispiel: http://mocktarget.apigee.net Attribut servers aus der OpenAPI-Spezifikation.

    Im Folgenden finden Sie einen Auszug aus der OpenAPI-Spezifikation mit den Attributen, die zum Vorausfüllen der Felder verwendet werden.

    openapi: 3.0.0
    info:
      description: OpenAPI Specification for the Apigee mock target service endpoint.
      version: 1.0.0
      title: Mock Target API
    paths:
      /:
        get:
          summary: View personalized greeting
          operationId: View a personalized greeting
          description: View a personalized greeting for the specified or guest user.
          parameters:
            - name: user
              in: query
              description: Your user name.
              required: false
              schema:
                type: string
          responses:
            "200":
              description: Success
    ...
    servers:
      - url: http://mocktarget.apigee.net
      - url: https://mocktarget.apigee.net
    ...
    
  7. Bearbeiten Sie das Feld Beschreibung so: API proxy for the Apigee mock target service endpoint.
  8. Klicken Sie auf Next.
  9. Wählen Sie auf der Seite Common policies unter "Security: Authorization" die Option Pass through (no authorization) aus und klicken Sie auf Next:

    Seite &quot;Pass through (no autorization)&quot; ist auf der Seite &quot;Common policies&quot; ausgewählt.

  10. Prüfen Sie auf der Seite "Flows", ob alle Vorgänge ausgewählt sind. Proxy-Ablauf erstellen
  11. Klicken Sie auf Next.
  12. Wählen Sie auf der Seite Virtual hosts die Optionen default und secure aus und klicken Sie auf Next.
    Auf der Seite &quot;Virtuelle Hosts&quot; sind &quot;default&quot; und &quot;secure&quot; ausgewählt
  13. Prüfen Sie in der Zusammenfassung auf der Seite Summary, ob unter Optional Deployment die Testumgebung ausgewählt ist und klicken Sie auf Create and deploy:

    Apigee erstellt Ihren neuen API-Proxy und stellt ihn in Ihrer Testumgebung bereit:

  14. Klicken Sie auf Edit proxy, um die Übersichtsseite für den API-Proxy aufzurufen.
    Zusammenfassung für den Mock Target API-Proxy

Classic Edge (Private Cloud)

So erstellen Sie den API-Proxy aus einer OpenAPI-Spezifikation mithilfe der Classic Edge-Benutzeroberfläche:

  1. Melden Sie sich unter https://apigee.com/edge an.
  2. Klicken Sie im Hauptfenster auf "API Proxies".

    Alternativ können Sie in der linken Navigationsleiste Develop > API-Proxies auswählen.

  3. Klicken Sie auf + Proxy.
    API-Proxy hinzufügen
  4. Wählen Sie im Assistenten "Proxy erstellen" die Option Reverse-Proxy (am häufigsten) aus und Klicken Sie auf OpenAPI verwenden.
    Proxytyp erstellen
  5. Klicken Sie auf Import from a URL (Von einer URL importieren), geben Sie einen Namen für die OpenAPI-Spezifikation und den Pfad zum Rohinhalt auf GitHub für die OpenAPI ein. Angabe im Feld URL:


    https://raw.githubusercontent.com/apigee/api-platform-samples/master/default-proxies/helloworld/openapi/mocktarget.yaml
  6. Klicken Sie auf Auswählen.
  7. Klicken Sie auf Weiter.

    Die Seite "Details" im Assistenten "Create Proxy" wird angezeigt. Die Felder sind bereits ausgefüllt Verwendung von Werten, die in der OpenAPI-Spezifikation definiert sind, wie im Folgenden gezeigt dargestellt wird.

    Details zum Proxy erstellen

    In der folgenden Tabelle werden die Standardwerte beschrieben, die mit Attributen in der OpenAPI-Spezifikation bereits ausgefüllt sind. Im Anschluss an die Tabelle finden Sie einen Auszug aus der OpenAPI-Spezifikation, der die verwendeten Eigenschaften veranschaulicht.

    Feld Beschreibung Standard
    Proxy-Name Name des API-Proxys. Beispiel: Mock-Target-API. title aus der OpenAPI-Spezifikation, wobei Leerzeichen durch Bindestriche ersetzt werden.
    Proxy-Basispfad Pfadkomponente, die diesen API-Proxy in der Organisation eindeutig identifiziert. Die öffentliche URL dieses API-Proxys besteht aus dem Namen Ihrer Organisation, einer Umgebung, in der dieser API-Proxy bereitgestellt wird, und diesem Basispfad. Beispiel: http://myorg-test.apigee.net/mock-target-api Inhalt des Feldes Name wird in Kleinbuchstaben umgewandelt.
    Vorhandene API Die Ziel-URL, die im Namen dieses API-Proxys aufgerufen wird. Jede URL, auf die über das offene Internet zugegriffen werden kann, kann verwendet werden. Beispiel: http://mocktarget.apigee.net Attribut servers aus der OpenAPI-Spezifikation.
    Beschreibung Beschreibung des API-Proxys. Attribut description aus der OpenAPI-Spezifikation.

    Im Folgenden finden Sie einen Auszug aus der OpenAPI-Spezifikation mit den Attributen, die zum Vorausfüllen der Felder verwendet werden.

    openapi: 3.0.0
    info:
      description: OpenAPI Specification for the Apigee mock target service endpoint.
      version: 1.0.0
      title: Mock Target API
    paths:
      /:
        get:
          summary: View personalized greeting
          operationId: View a personalized greeting
          description: View a personalized greeting for the specified or guest user.
          parameters:
            - name: user
              in: query
              description: Your user name.
              required: false
              schema:
                type: string
          responses:
            "200":
              description: Success
    ...
    servers:
      - url: http://mocktarget.apigee.net
      - url: https://mocktarget.apigee.net
    ...
    
  8. Bearbeiten Sie das Feld Beschreibung so: API proxy for the Apigee mock target service endpoint.
  9. Klicken Sie auf Weiter.
  10. Prüfen Sie auf der Seite "Flows", ob alle Vorgänge ausgewählt sind. Proxy-Ablauf erstellen
  11. Klicken Sie auf Weiter.
  12. Wählen Sie auf der Seite „Sicherheit“ die Option Durchgehen (keine) als Sicherheit aus. und klicken Sie auf Weiter.
  13. Achten Sie darauf, dass auf der Seite „Virtual Hosts“ alle virtuellen Hosts ausgewählt sind, und klicken Sie auf Weiter.
  14. Achten Sie darauf, dass auf der Seite „Build“ die Umgebung Test ausgewählt ist. Klicken Sie dann auf Erstellen und Bereitstellen.
  15. Auf der Seite „Zusammenfassung“ sehen Sie eine Bestätigung, dass Ihr neuer API-Proxy erstellt wurde. und in Ihrer Testumgebung bereitgestellt.
    Proxy-Zusammenfassung erstellen
  16. Klicken Sie auf Mock-Target-API, um die Übersichtsseite der API aufzurufen. Proxy.
    Zusammenfassung für den Mock Target API-Proxy

Glückwunsch! Sie haben einen API-Proxy aus einer OpenAPI-Spezifikation erstellt. Als Nächstes testen Sie, wie er funktioniert.

API-Proxy testen

Sie können Ihre Mock-Target-API API mit cURL oder einem Webbrowser testen.

Führen Sie in einem Terminalfenster den folgenden cURL-Befehl aus. Ersetzen Sie den Namen Ihrer Organisation in der URL.

curl http://<org_name>-test.apigee.net/mock-target-api

Antwort

Sie sollten die folgende Antwort sehen:

Hello, Guest!        

Gut gemacht! Sie haben einen einfachen API-Proxy aus einer OpenAPI-Spezifikation erstellt und getestet.

"XML-to-JSON"-Richtlinie hinzufügen

Als Nächstes fügen Sie die "XML-to-JSON"-Richtlinie dem bedingten Ablauf View XML Response hinzu, der automatisch generiert wurde, als Sie den API-Proxy aus der OpenAPI-Spezifikation erstellt haben. Die Richtlinie konvertiert die XML-Antwort des Ziels in eine JSON-Antwort.

Rufen Sie zuerst die API auf, damit Sie die Ergebnisse mit denen vergleichen können, die Sie nach Hinzufügen der Richtlinie erhalten haben. Führen Sie in einem Terminalfenster den folgenden cURL-Befehl aus. Sie rufen die Ressource /xml des Zieldienstes auf, die nativ einen einfachen XML-Block zurückgibt. Ersetzen Sie die URL durch Ihren Organisationsnamen.

curl http://<org_name>-test.apigee.net/mock-target-api/xml

Antwort

Sie sollten die folgende Antwort sehen:

<root> 
  <city>San Jose</city> 
  <firstName>John</firstName> 
  <lastName>Doe</lastName> 
  <state>CA</state> 
</root>

Jetzt wird die XML-Antwort in JSON konvertiert. Fügen Sie die "XML-to-JSON"-Richtlinie dem bedingten Ablauf "View XML Response" im API-Proxy hinzu.

  1. Klicken Sie in der Edge-Benutzeroberfläche oben rechts auf der Seite mit der Mock-Target-API-Übersicht auf den Tab Develop.
    Tab &quot;Developer&quot;
  2. Klicken Sie im linken Navigationsbereich unter "Proxy Endpoints" > "default" auf den Bedingungsablauf View XML Response.
    &quot;View XML Response&quot; auswählen
  3. Klicken Sie auf die Schaltfläche +Step, die der Antwort für den Ablauf entspricht.
    +Step auswählen
    Im Dialogfeld "Add step" wird eine Kategorienliste aller Richtlinien angezeigt, die Sie hinzufügen können.
  4. Scrollen Sie zur Kategorie "Mediation" und wählen Sie XML to JSON aus.
    Dialogfeld &quot;Add step&quot;
  5. Behalten Sie die Standardwerte für Display name und Name bei.
  6. Klicken Sie auf Add. Die "XML-to-JSON"-Richtlinie wird auf die Antwort angewendet.&quot;XML-to-JSON&quot;-Richtlinie im Ablauf
  7. Klicken Sie auf Save.

Rufen Sie nun die API mit cURL noch einmal auf. Beachten Sie, dass Sie immer noch dieselbe /xml-Ressource aufrufen. Der Zieldienst gibt weiterhin seinen XML-Block zurück, die Richtlinie im API-Proxy wird aber nun in die JSON-Antwort konvertiert. Führen Sie folgenden Aufruf aus:

curl http://<org_name>-test.apigee.net/mock-target-api/xml

Die XML-Antwort wird in das JSON-Format konvertiert:

{"root":{"city":"San Jose","firstName":"John","lastName":"Doe","state":"CA"}}

Glückwunsch! Sie haben erfolgreich die Ausführung einer Richtlinie getestet, die einem bedingten Ablauf hinzugefügt wurde.