GraphQL-API:er med Spring Boot · Lektion

Köra enkla GraphQL-frågor

Öva på att skapa och köra grundläggande frågor för att hämta data med verktyg som GraphiQL eller GraphQL Playground.

Lektion 3 av 412 steg

Köra enkla GraphQL-frågor är en gratis lektion i GraphQL-API:er med Spring Boot på CoddyKit. Detta är lektion 3 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för GraphQL-API:er med Spring Boot, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i GraphQL-API:er med Spring Boot innehåller totalt 4 lektioner.

Vad är GraphQL-frågor?

Välkomna till en lektion om att köra GraphQL-frågor! I den här lektionen lär ni er att hämta data från en GraphQL-server.

En GraphQL-fråga är det sätt på vilket en klientapplikation ber servern om data. Till skillnad från traditionella REST-API:er, där ni ofta får fasta datastrukturer, låter GraphQL er ange exakt vilka data ni behöver.

Interaktiva frågeverktyg

För att köra frågor använder vi ofta interaktiva verktyg. Två populära alternativ är GraphiQL och GraphQL Playground.

  • De är webbläsarbaserade IDE:er (integrerade utvecklingsmiljöer).
  • De erbjuder funktioner som schemautforskning, automatisk komplettering av frågor och dokumentation.
  • De ansluter till GraphQL-serverns endpoint för att skicka frågor och visa resultat.

Den grundläggande frågestrukturen

En GraphQL-fråga börjar med att välja fält från rottypen Query. Ni anger vilka fält ni vill ha, och servern returnerar endast dessa data.

Nyckelordet query är valfritt i enkla frågor, men det är god praxis att ta med det för tydlighetens skull och för att kunna namnge era operationer.

Välja specifika fält

Anta att vårt schema har en Book-typ med fälten title och author. För att hämta en lista över alla böcker med deras titlar och författare skriver vi:

query { allBooks { title author } }

Observera att klammerparenteserna {} definierar en urvalsuppsättning för fältet allBooks.

Fråga efter nästlade data

En av GraphQL:s styrkor är att ni kan fråga efter nästlade data i en enda begäran. Om fältet author är av en objekttyp med egna fält, till exempel name och nationality, kan ni även välja dem:

query { allBooks { title author { name nationality } } }

Detta hämtar böckerna samt deras författares namn och nationaliteter på en gång!

Skicka argument till fält

Ni kan skicka argument till fält för att filtrera, göra sidindelning eller ange ett specifikt objekt. Argument definieras i schemat och fungerar som funktionsparametrar.

För att till exempel hämta en specifik bok med dess ID:

query { bookById(id: "1") { title author { name } } }

Här är id: "1" ett argument som skickas till fältet bookById.

Alias för att byta fältnamn

Vad gör ni om ni behöver fråga efter samma fält flera gånger med olika argument? Med alias kan ni byta namn på resultatet från ett fält.

Det förhindrar konflikter i JSON-svaret när samma fältnamn annars skulle förekomma flera gånger:

query { firstBook: bookById(id: "1") { title } secondBook: bookById(id: "2") { title } }

Resultaten blir firstBook och secondBook.

Återanvänd urval med fragment

Fragment är återanvändbara enheter för urvalslogik. De låter er definiera en uppsättning fält en gång och sedan återanvända den i flera frågor eller på flera ställen i samma fråga.

Detta är användbart för komplexa frågor eller när olika delar av ert användargränssnitt behöver samma delmängd data:

fragment BookDetails on Book { title author { name } } query { bookById(id: "1") { ...BookDetails } }

Syntaxen ...BookDetails infogar fragmentets fält i frågan.

Operationsnamn och variabler

Att ge era frågor ett operationsnamn, till exempel GetBookDetails, underlättar felsökning och loggning på serversidan.

Ni kan även definiera variabler för att skicka dynamiska data till era frågor, vilket gör dem mer flexibla:

query GetBookDetails($bookId: ID!) { bookById(id: $bookId) { title author { name } } }

Variabeln $bookId skulle skickas separat, vanligtvis som ett JSON-objekt, till exempel {"bookId": "3"}, i ert frågeverktyg.

Bästa praxis för frågor

Ha följande tips i åtanke när ni formulerar era frågor:

  • Var specifika: Be bara om de data ni verkligen behöver.
  • Använd fragment: För återanvändbara urvalsuppsättningar, särskilt i olika delar av applikationen.
  • Namnge operationer: Det underlättar felsökning och övervakning.
  • Använd variabler: För dynamiska argument i stället för att skriva in värden direkt i frågesträngen.
  • Utforska schemat: Använd dokumentationsutforskaren i GraphiQL/Playground för att förstå vilka fält och argument som är tillgängliga.

Snabbkontroll

Vilket av följande GraphQL-frågeutdrag använder korrekt ett alias för att hämta titeln på två olika böcker?

Sammanfattning av frågegrunderna

Bra jobbat! Ni har gått igenom grunderna i att köra GraphQL-frågor:

  • Hur frågor anger exakt vilka data som ska hämtas.
  • Hur ni använder verktyg som GraphiQL och GraphQL Playground.
  • Den grundläggande strukturen, inklusive val av fält och nästlade data.
  • Hur ni skickar argument till fält för filtrering.
  • Hur ni använder alias för att byta namn på fältresultat.
  • Hur ni använder fragment för återanvändbara urvalsuppsättningar.
  • Vikten av operationsnamn och variabler.

Nu är ni redo att börja hämta data effektivt!

Gratis att börja

Lär dig GraphQL-API:er med Spring Boot med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
12
Lektioner
48

Vanliga frågor

Är lektionen ”Köra enkla GraphQL-frågor” gratis?

Ja – hela texten till ”Köra enkla GraphQL-frågor” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i GraphQL-API:er med Spring Boot, kan Ni uppgradera till CoddyKit PRO. Kursen i GraphQL-API:er med Spring Boot innehåller totalt 4 lektioner.

Vad lär jag mig i ”Köra enkla GraphQL-frågor”?

Öva på att skapa och köra grundläggande frågor för att hämta data med verktyg som GraphiQL eller GraphQL Playground. Ni övar på GraphQL-API:er med Spring Boot med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig GraphQL-API:er med Spring Boot?

Du behöver inga förkunskaper. Utbildningen i GraphQL-API:er med Spring Boot på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.

Hur lång tid tar lektionen ”Köra enkla GraphQL-frågor”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här GraphQL-API:er med Spring Boot-lektionen?

Ja. Varje GraphQL-API:er med Spring Boot-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Definiera anpassade datatyper
  2. Implementera dataresolvers
  3. Köra enkla GraphQL-frågor
  4. GraphQL-mutationer: ändra data
← Tillbaka till GraphQL-API:er med Spring Boot