Sie suchen Ihre bereits erworbenen Lerninhalte? Dann geht es hier entlang: Zum academy Campus

heise Academy Logo
Videokurse

GraphQL – APIs mit Spring Boot entwickeln

Lernen Sie anhand einer Beispielanwendung, wie Sie mit Spring Boot und Spring for GraphQL GraphQL-APIs entwickeln. IT-Experte Nils Hartmann zeigt in seinem Videotutorial alle Inhalte Schritt für Schritt. Sie können direkt mitmachen und Ihr Wissen in Quizfragen überprüfen.

Im Essential Pass enthalten

Flexible IT Weiterbildung on demand, schon als monatliches Abo erhältlich

Mehr Infos & Kauf
Sie haben bereits einen academy Pass?
Enterprise Pass
Essential Pass
Professional Pass

GraphQL – APIs mit Spring Boot entwickeln

Überblick

GraphQL ist eine spannende Technologie, um Anwendungen APIs zur Verfügung zu stellen. Denn GraphQL-APIs ermöglichen es, mit einer eigenen Abfragesprache die benötigten Daten für jeden Anwendungsfall selbst auszuwählen. Unterstützt werden die Clients dabei durch das GraphQL Typsystem, das bei der Formulierung von Abfragen hilft und verhindert, dass ungültige Abfragen ausgeführt werden.

Um auf dieser Basis eigene GraphQL-APIs zu implementieren und zu betreiben, bietet Spring Boot ein eigenes Projekt namens Spring GraphQL an. Spring Boot ist als weit verbreitete Plattform besonders geeignet, da es die Entwicklung von Backend-Anwendungen und -Services mit all ihren typischen Anforderungen an Stabilität, Sicherheit und Performance unterstützt.

In diesem Kurs lernen Sie anhand einer Beispielanwendung, wie Sie mit Java und Spring GraphQL eigene GraphQL-APIs entwickeln können. IT-Experte Nils Hartmann führt in die Grundlagen ein und zeigt, wie man das Schema der eigenen API beschreibt und Queries, Mutations und Subscriptions implementiert. Außerdem erfahren Sie, wie Sie bei der Arbeit mit Spring GraphQL von der Integration in den Spring Technologie-Stack profitieren, wenn Sie typische Anforderungen wie Datenbankzugriffe, die Integration von Microservices oder die Absicherung Ihrer API umsetzen möchten.

Um dem Kurs folgen zu können, sollten Sie mit GraphQL vertraut sein. Java-Kenntnisse und gute Spring- bzw. Spring-Boot-Kenntnisse sind von Vorteil. Für die Übungen benötigen Sie ein JDK mit Java Version 17, Git und Docker.

Klicken zum Abspielen

Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit können personenbezogene Daten an Drittplattformen übermittelt werden. Mehr dazu in unserer Datenschutzerklärung.

Alle Video-Lektionen im Überblick:

  • GraphQL APIs mit Java

    • Herzlich Willkommen zu diesem Kurs

    • Intro

    • Die Beispiel-Anwendung „Publy“

    • GraphQL Frameworks für Java

    • Architektur von graphql-java

    • Hello World, graphql-java!

    • DataFetcher mit graphql-java

    • Architektur von spring-graphql

    • Hello World, spring-graphql!

    • Architektur der Beispiel-Anwendung „Publy“

    • Quiz: GraphQL APIs mit Java

  • GraphQL APIs mit spring-graphql

    • Intro

    • Schema Definition und Query Mapping

    • Felder mit Argumenten 1

    • Handler-Funktionen für Felder

    • Übung: Handler-Funktionen

    • Validierung von Argument und Projected Payloads

    • Mutations implementieren

    • Übung: Mutations

    • Lösung: Die addComment-Mutation mit einem eigenen Rückgabe-Typ

    • Union Types

    • Type Resolver

    • Interfaces

    • Eigene skalare Datentypen

    • Subscriptions

    • Übung: Subscriptions

    • Quiz: GraphQL APIs mit Spring GraphQL

  • Performance-Optimierungen

    • Intro

    • Query Performance analysieren

    • Asynchrone Handler-Funktionen

    • REST APIs aufrufen

    • REST Aufrufe mit einem DataLoader zusammenfassen

    • Batch Mapping

    • Übung: DataLoader

    • Query-Verarbeitung mit dem DataFetchingFieldSelectionSet optimieren

    • Quiz: Performance Optimierungen

  • Die GraphQL API vervollständigen

    • Intro

    • Sicherheit von GraphQL APIs

    • Sicherheit in Handler-Funktionen

    • Fehlerbehandlung am Beispiel Security im Domain Layer

    • Fehlerbehandlung am Beispiel Bean Validation

    • Einen Request Error mit eigenem GraphQLError-Objekt zurückliefern

    • Mehrere GraphQLError-Objekte aus einer Exception erzeugen

    • Beispiel: Paginierung von Listen

    • Beispiel: Filtern von Listen

    • Erlaubte Komplexität von Queries beschränken

    • Testen des GraphQL Controllers

    • Testen der GraphQL API über HTTP

    • Quiz: Die GraphQL API vervollständigen

    • Fazit und Kursabschluss

So lernen Sie mit diesem Videokurs:

In den Videokursen der heise Academy lernen Sie IT-Themen anschaulich und verständlich. In den Videos schauen Sie Experten bei der praktischen Arbeit zu und lassen sich alles genau erklären. Das Wissen ist in viele kleine Lernschritte und Aufgaben unterteilt - Sie können den Kurs Lektion für Lektion durcharbeiten oder gezielt zu Themen springen, die Sie interessieren. Die persönliche Lernumgebung der heise Academy bietet Ihnen viele Funktionen, die Sie beim Lernen unterstützen:

  • Flexibler Videoplayer mit vielen Steuerungsmöglichkeiten

  • Wissensquizzes zur Lernkontrolle

  • Lernhistorie und Lernfortschritt

  • Lesezeichen und Notizen

  • Volltextsuche in den Videos

  • Frage-den-Experten-Modul

  • Übungsmaterial zum Mitmachen

  • Responsive Web-App und Videostreaming für alle Endgeräte

Technische Voraussetzungen:

Für diesen Videokurs wird lediglich ein Browser (mit eingeschalteter JavaScript-Funktionalität) und eine Internetverbindung benötigt.

Foto von Nils Hartmann

Nils Hartmann

Softwareentwickler und -architekt | Freiberufler

Zum Profil
Enterprise Pass
Essential Pass
Professional Pass

GraphQL – APIs mit Spring Boot entwickeln

Haben Sie Fragen zu unseren academy Videokurse? Wir helfen Ihnen gern weiter.

Füllen Sie ganz einfach und bequem das Kontaktformular aus und wir werden Ihnen Ihre Fragen schnellstmöglich beantworten.

Profilbild von Markus Richter

Markus Richter

Teamleiter Redaktion & Content-Produktion

academy@heise.de

+49 511 5352 8618

Telefonisch erreichbar: Mo – Fr | 9 – 17 Uhr

Unsere Antworten auf die häufigsten Fragen

Kontaktformular

Bei Betätigen des Absenden-Buttons verarbeiten wir die von Ihnen angegebenen personenbezogenen Daten ausschließlich für den Zweck Ihrer Anfrage. Weitere Informationen zum Datenschutz finden Sie in unserer Datenschutzerklärung.