Eine synthetische GraphQL-API hinzufügen und Feld-Resolver einrichten
GILT FÜR: Alle API Management-Ebenen
In API Management können Sie eine GraphQL-API in einem von zwei Modellen hinzufügen: Passthrough an einen vorhandenen GraphQL-Endpunkt oder Import eines GraphQL-Schema und Erstellung einer synthetischen GraphQL-API mit benutzerdefinierten Feld-Resolvern. Weitere Informationen finden Sie in der GraphQL-Übersicht.
Hinweis
Diese Funktion ist derzeit in Arbeitsbereichen nicht verfügbar.
In diesem Artikel führen Sie Folgendes durch:
- Importieren eines GraphQL-Schemas zu Ihrer API Management-Instanz
- Einrichten eines Resolvers für eine GraphQL-Abfrage mithilfe eines vorhandenen HTTP-Endpunkts
- Testen Ihrer GraphQL-API
Wenn Sie einen vorhandenen GraphQL-Endpunkt als API verfügbar machen möchten, finden Sie weitere Informationen unter Importieren einer GraphQL-API.
Voraussetzungen
- Eine bestehende API Management-Instanz. Erstellen Sie eine, falls nicht schon geschehen.
- Eine gültige GraphQL-Schemadatei mit der Erweiterung
.graphql
. - Ein Back-End-GraphQL-Endpunkt ist für dieses Szenario optional.
Navigieren zur API Management-Instanz
Suchen Sie im Azure-Portal nach API Management-Dienste, und wählen Sie diese Option aus.
Wählen Sie auf der Seite API Management-Dienste Ihre API Management-Instanz aus.
Hinzufügen eines GraphQL-Schemas
Wählen Sie im Seitennavigationsmenü im Abschnitt APIs die Option APIsaus.
Wählen Sie unter Define a new API (Neue API definieren) das GraphQL-Symbol aus.
Wählen Sie im Dialogfeld Vollständig aus, und füllen Sie die erforderlichen Formularfelder aus.
Feld Beschreibung Anzeigename Das ist der Name, mit dem Ihre GraphQL-API angezeigt wird. Name Das ist der unformatierte Name der GraphQL-API. Er wird automatisch ausgefüllt, wenn Sie den Anzeigenamen eingeben. GraphQL-Typ Wählen Sie Synthetischer GraphQL aus, um aus einer GraphQL-Schemadatei zu importieren. GraphQL-Fallbackendpunkt Geben Sie optional eine URL mit einem GraphQL-API-Endpunktnamen ein. API Management übergibt GraphQL-Abfragen an diesen Endpunkt, wenn kein benutzerdefinierter Resolver für ein Feld festgelegt ist. Beschreibung Fügen Sie eine Beschreibung Ihrer API hinzu. URL-Schema Treffen Sie eine Auswahl basierend auf Ihrem GraphQL-Endpunkt. Wählen Sie eine der Optionen aus, die ein WebSocket-Schema (WS oder WSS) enthält, wenn Ihre GraphQL-API den Abonnementtyp einschließt. Standardauswahl: HTTP(S). API-URL-Suffix Fügen Sie ein URL-Suffix hinzu, um diese spezifische API in dieser API Management-Instanz zu identifizieren. Es muss in dieser API Management-Instanz eindeutig sein. Basis-URL In diesem nicht bearbeitbaren Feld wird die Basis-URL für Ihre API angezeigt. Tags Ordnen Sie Ihre GraphQL-API neuen oder vorhandenen Tags zu. Produkte Ordnen Sie Ihre GraphQL-API einem Produkt zu, um sie zu veröffentlichen. Versionsverwaltung für diese API? Wählen Sie aus, ein Versionsverwaltungsschema auf Ihre GraphQL-API anzuwenden. Klicken Sie auf Erstellen.
Nachdem die API erstellt wurde, suchen oder ändern Sie das Schema auf der Registerkarte Entwurf.
Konfigurieren des Resolvers
Konfigurieren Sie einen Resolver, um ein Feld im Schema einem vorhandenen HTTP-Endpunkt zuzuordnen. Hier finden Sie allgemeine Schritte. Einzelheiten finden Sie unter Konfigurieren eines GraphQL-Resolvers.
Angenommen, Sie haben das folgende grundlegende GraphQL-Schema importiert und einen Resolver für die Abfrage users eingerichtet.
type Query {
users: [User]
}
type User {
id: String!
name: String!
}
Wählen Sie im Seitennavigationsmenü im Abschnitt APIs unter der Option APIs> Ihre GraphQL-API aus.
Überprüfen Sie auf der Registerkarte Schema das Schema für ein Feld in einem Objekttyp, in dem Sie einen Resolver konfigurieren möchten.
Wählen Sie ein Feld aus, und fahren Sie dann mit dem Mauszeiger über den linken Rand.
Wählen Sie + Resolver hinzufügen aus.
Gehen Sie auf der Seite Resolver erstellen folgendermaßen vor:
- Aktualisieren Sie bei Bedarf die Eigenschaft Name, geben Sie optional eine Beschreibung ein, und bestätigen oder aktualisieren Sie die Auswahl für Typ und Feld.
- Wählen Sie unter Datenquelle die Option HTTP-API aus.
Aktualisieren Sie im Editor Resolver-Richtlinien das
<http-data-source>
-Element mit untergeordneten Elementen für Ihr Szenario. Der folgende Resolver ruft beispielsweise das Feld Benutzer mithilfe einesGET
-Aufrufs einer vorhandenen HTTP-Datenquelle ab.<http-data-source> <http-request> <set-method>GET</set-method> <set-url>https://myapi.contoso.com/users</set-url> </http-request> </http-data-source>
Klicken Sie auf Erstellen.
Um Daten für ein anderes Feld im Schema aufzulösen, wiederholen Sie die vorherigen Schritte, um einen Resolver zu erstellen.
Tipp
Wählen Sie beim Bearbeiten einer Resolverrichtlinie Test ausführen aus, um die Ausgabe der Datenquelle zu überprüfen, die Sie anhand des Schemas validieren können. Wenn Fehler auftreten, enthält die Antwort Informationen zur Problembehandlung.
Testen Ihrer GraphQL-API
Navigieren Sie zu Ihrer API Management-Instanz.
Wählen Sie im Seitennavigationsmenü im Abschnitt APIs die Option APIsaus.
Wählen Sie unter Alle APIs Ihre GraphQL-API aus.
Wählen Sie die Registerkarte Test aus, um auf die Testkonsole zuzugreifen.
Unter Header:
- Wählen Sie im Dropdownmenü Name den Header aus.
- Geben Sie den Wert in das Feld Wert ein.
- Fügen Sie weitere Header hinzu, indem Sie + Header hinzufügen auswählen.
- Löschen Sie Header mithilfe des Papierkorbsymbols.
Wenn Sie Ihrer GraphQL-API ein Produkt hinzugefügt haben, wenden Sie den Produktbereich mithilfe von Apply product scope (Produktbereich anwenden) an.
Führen Sie im Abfrage-Editor eine der folgenden Aktionen aus:
Wählen Sie mindestens ein Feld oder Unterfeld aus der Liste im Seitenmenü aus. Die von Ihnen ausgewählten Felder und Unterfelder werden im Abfrage-Editor angezeigt.
Beginnen Sie mit der Eingabe im Abfrage-Editor, um eine Abfrage zu erstellen.
Fügen Sie unter Abfragevariablen Variablen hinzu, um eine Abfrage oder Mutation wiederzuverwenden und unterschiedliche Werte zu übergeben.
Wählen Sie Send (Senden) aus.
Zeigen Sie die Antwort an.
Wiederholen Sie die vorherigen Schritte, um verschiedene Nutzdaten zu testen.
Beenden Sie die Testkonsole, wenn die Tests abgeschlossen sind.
GraphQL-API sichern
Schützen Sie Ihre GraphQL-API vor GraphQL-spezifischen Angriffen durch das Anwenden vorhandener Authentifizierungs- und Autorisierungsrichtlinien und einer GraphQL-Validierungsrichtlinie.
Zugehörige Themen
- Einschränkungen beim API-Import
- Importieren einer OpenAPI-Spezifikation
- Importieren einer SOAP-API
- Importieren einer SOAP-API und Konvertieren dieser in REST
- Importieren einer App Service-API
- Importieren einer Container-App-API
- Importieren einer WebSocket-API
- Importieren einer GraphQL-API
- Importieren eines GraphQL-Schemas und Einrichten von Feldauflösern
- Importieren einer Azure Functions-App als API
- Importieren einer Logik-App als API
- Tutorial: Integrieren von API Management in Service Fabric in Azure
- Importieren einer Azure OpenAI-API
- Importieren einer OData-API
- Importieren von SAP OData-Metadaten
- Importieren einer gRPC-API
- Bearbeiten von APIs