Een synthetische GraphQL-API toevoegen en veld resolvers instellen
VAN TOEPASSING OP: Alle API Management-lagen
In API Management kunt u een GraphQL-API toevoegen in een van twee modellen: passthrough naar een bestaand GraphQL-eindpunt of een GraphQL-schema importeren en een synthetische GraphQL-API maken met aangepaste veld resolvers. Zie het GraphQL-overzicht voor meer informatie.
Notitie
Deze functie is momenteel niet beschikbaar in werkruimten.
In dit artikel gaat u het volgende doen:
- Een GraphQL-schema importeren in uw API Management-exemplaar
- Een resolver instellen voor een GraphQL-query met behulp van een bestaand HTTP-eindpunt
- Uw GraphQL-API testen
Als u een bestaand GraphQL-eindpunt als API wilt weergeven, raadpleegt u Een GraphQL-API importeren.
Vereisten
- Een bestaand API Management-exemplaar. Maak er een als u dat nog niet hebt gedaan.
- Een geldig GraphQL-schemabestand met de
.graphql
extensie. - Een back-end GraphQL-eindpunt is optioneel voor dit scenario.
Ga naar uw API Management-exemplaar
Zoek en selecteer API Management-services in Azure Portal.
Selecteer uw API Management-exemplaar op de pagina API Management-services.
Een GraphQL-schema toevoegen
Selecteer API's in het navigatiemenu aan de zijkant, onder de sectie API's.
Selecteer onder Een nieuwe API definiëren het GraphQL-pictogram .
Selecteer in het dialoogvenster Volledig en vul de vereiste formuliervelden in.
Veld Omschrijving Weergavenaam De naam waarmee uw GraphQL-API wordt weergegeven. Naam Onbewerkte naam van de GraphQL-API. Wordt automatisch ingevuld terwijl u de weergavenaam typt. GraphQL-type Selecteer Synthetische GraphQL om te importeren uit een GraphQL-schemabestand. Fallback GraphQL-eindpunt Voer desgewenst een URL in met de naam van een GraphQL API-eindpunt. API Management geeft GraphQL-query's door aan dit eindpunt wanneer een aangepaste resolver niet is ingesteld voor een veld. Beschrijving Voeg een beschrijving van uw API toe. URL-schema Maak een selectie op basis van uw GraphQL-eindpunt. Selecteer een van de opties die een WebSocket-schema (WS of WSS) bevatten als uw GraphQL-API het abonnementstype bevat. Standaardselectie: HTTP(S). API-URL-achtervoegsel Voeg een URL-achtervoegsel toe om deze specifieke API in dit API Management-exemplaar te identificeren. Het moet uniek zijn in dit API Management-exemplaar. Basis-URL Niet-bewerkbaar veld met de API-basis-URL Tags Koppel uw GraphQL-API aan nieuwe of bestaande tags. PRODUCTEN Koppel uw GraphQL-API aan een product om deze te publiceren. Versie van deze API? Selecteer dit om een versiebeheerschema toe te passen op uw GraphQL-API. Selecteer Maken.
Nadat de API is gemaakt, bladert of wijzigt u het schema op het tabblad Ontwerpen .
Resolver configureren
Configureer een resolver om een veld in het schema toe te wijzen aan een bestaand HTTP-eindpunt. Hier worden stappen op hoog niveau gegeven. Zie Een GraphQL-resolver configureren voor meer informatie.
Stel dat u het volgende eenvoudige GraphQL-schema hebt geïmporteerd en een resolver voor de gebruikersquery wilde instellen.
type Query {
users: [User]
}
type User {
id: String!
name: String!
}
Selecteer in het navigatiemenu aan de zijkant onder de sectie API's DE API's> van uw GraphQL-API.
Controleer op het tabblad Schema het schema voor een veld in een objecttype waar u een resolver wilt configureren.
Selecteer een veld en plaats de aanwijzer in de linkermarge.
Select + Add Resolver
Op de pagina Resolver maken:
- Werk de eigenschap Naam desgewenst bij, voer desgewenst een beschrijving in en bevestig of werk de selecties Type en Veld bij.
- Selecteer HTTP-API in de gegevensbron.
Werk in de beleidseditor van Resolver het
<http-data-source>
element bij met onderliggende elementen voor uw scenario. Met de volgende resolver wordt bijvoorbeeld het gebruikersveld opgehaald door eenGET
aanroep uit te voeren naar een bestaande HTTP-gegevensbron.<http-data-source> <http-request> <set-method>GET</set-method> <set-url>https://myapi.contoso.com/users</set-url> </http-request> </http-data-source>
Selecteer Maken.
Als u gegevens voor een ander veld in het schema wilt oplossen, herhaalt u de voorgaande stappen om een resolver te maken.
Tip
Wanneer u een resolver-beleid bewerkt, selecteert u Test uitvoeren om de uitvoer van de gegevensbron te controleren, die u kunt valideren op basis van het schema. Als er fouten optreden, bevat het antwoord informatie over probleemoplossing.
Uw GraphQL-API testen
Navigeer naar uw API Management-exemplaar.
Selecteer API's in het navigatiemenu aan de zijkant, onder de sectie API's.
Selecteer uw GraphQL-API onder Alle API's.
Selecteer het tabblad Testen om toegang te krijgen tot de testconsole.
Onder Kopteksten:
- Selecteer de koptekst in de vervolgkeuzelijst Naam .
- Voer de waarde in het veld Waarde in.
- Voeg meer headers toe door + Koptekst toevoegen te selecteren.
- Verwijder kopteksten met behulp van het prullenbakpictogram.
Als u een product hebt toegevoegd aan uw GraphQL-API, past u het productbereik toe onder Productbereik toepassen.
Ga als volgt te werk onder Query-editor:
Selecteer ten minste één veld of subveld in de lijst in het zijmenu. De velden en subvelden die u selecteert, worden weergegeven in de queryeditor.
Begin te typen in de queryeditor om een query op te stellen.
Voeg onder Queryvariabelen variabelen toe om dezelfde query of mutatie opnieuw te gebruiken en verschillende waarden door te geven.
Selecteer Verzenden.
Bekijk het antwoord.
Herhaal de voorgaande stappen om verschillende nettoladingen te testen.
Wanneer het testen is voltooid, sluit u de testconsole af.
Uw GraphQL-API beveiligen
Beveilig uw GraphQL-API door zowel bestaand verificatie- als autorisatiebeleid en een GraphQL-validatiebeleid toe te passen om te beschermen tegen GraphQL-specifieke aanvallen.
Verwante onderwerpen
- Beperkingen bij het importeren van API's
- Een OpenAPI-specificatie importeren
- Een SOAP-API importeren
- Een SOAP-API importeren en deze converteren naar REST
- Een App Service-API importeren
- Een Container App-API importeren
- Een WebSocket-API importeren
- Een GraphQL-API importeren
- Een GraphQL-schema importeren en veldoplossers instellen
- Een Azure-functie-app importeren
- Een logische Azure-app importeren
- Een Service Fabric-service importeren
- Een Azure OpenAI-API importeren
- Een OData-API importeren
- SAP OData-metagegevens importeren
- Een gRPC-API importeren
- Een API bewerken