GraphQL API mit Java: Schritt-für-Schritt-Tutorial für Anfänger

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Einleitung: Warum GraphQL und Java eine leistungsstarke Kombination sind



Die moderne API-Entwicklung erfordert Flexibilität und Effizienz. REST-APIs haben trotz ihrer Beliebtheit oft mit dem Problem des Over-fetching (übermäßiges Laden von Daten) oder Under-fetching (ungenügende Daten) zu kämpfen. GraphQL löst diese Probleme, indem es dem Client ermöglicht, nur die Daten anzufordern, die er benötigt.



Java wiederum bleibt eine der zuverlässigsten Sprachen für die Enterprise-Entwicklung. Die Kombination von GraphQL und Java über das Framework Spring Boot bietet ein leistungsstarkes Werkzeug zur Erstellung skalierbarer und performanter APIs. In diesem Schritt-für-Schritt-Tutorial erstellen wir eine einfache GraphQL-API von Grund auf.



Dieses Material ist nützlich für Java-Entwickler, die einen modernen Ansatz zur API-Entwicklung erlernen möchten. Wir werden die wichtigsten Konzepte durchgehen, Code schreiben und unsere Implementierung testen.



1. Projekteinrichtung und Abhängigkeiten



Der erste Schritt besteht darin, ein grundlegendes Spring Boot-Projekt zu erstellen. Wir verwenden Maven zur Verwaltung der Abhängigkeiten. Stellen Sie sicher, dass JDK 17+ und Maven 3.8+ installiert sind.



Erstellen Sie eine Datei pom.xml mit folgendem Inhalt:



<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0"         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0         http://maven.apache.org/xsd/maven-4.0.0.xsd">    <modelVersion>4.0.0</modelVersion>

<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.2.0</version> </parent>

<groupId>com.example</groupId> <artifactId>graphql-java-tutorial</artifactId> <version>1.0.0</version>

<properties> <java.version>17</java.version> </properties>

<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>com.graphql-java</groupId> <artifactId>graphql-spring-boot-starter</artifactId> <version>5.0.2</version> </dependency> <dependency> <groupId>com.graphql-java</groupId> <artifactId>graphql-java-tools</artifactId> <version>5.2.4</version> </dependency> </dependencies></project>


Nach der Einrichtung der pom.xml erstellen Sie die Hauptklasse der Anwendung:



package com.example.graphqldemo;

import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplicationpublic class GraphqlDemoApplication { public static void main(String[] args) { SpringApplication.run(GraphqlDemoApplication.class, args); }}


Die Projektstruktur ist nun bereit. Wir fahren mit der Definition der Daten fort.



2. Definition des Datenmodells und des GraphQL-Schemas



Das GraphQL-Schema ist der Vertrag zwischen Client und Server. Wir beginnen mit der Erstellung eines einfachen Modells Book (Buch).



2.1 Java-Klasse des Modells



package com.example.graphqldemo.model;

public class Book { private String id; private String title; private String author; private int pages;

public Book(String id, String title, String author, int pages) { this.id = id; this.title = title; this.author = author; this.pages = pages; }

// Getter und Setter public String getId

Blogs

Buchempfehlungen