Worum es geht
In dieser Lernsituation entsteht Schritt für Schritt ein REST-Backend mit Spring Boot. Ausgangspunkt ist ein Auftrag aus der Praxis: Mehrere Programme – eine Weboberfläche, eine App und ein Zeiterfassungssystem – sollen auf denselben Datenbestand zugreifen. Statt jedes Programm eigene Wege gehen zu lassen, wird eine gemeinsame Schnittstelle gebaut.
Die Tutorials bauen aufeinander auf und werden der Reihe nach bearbeitet. Jedes Arbeitsblatt endet mit einer lauffähigen Anwendung und Testfällen zur Selbstprüfung. Die Infoblätter liefern den fachlichen Hintergrund und lassen sich jederzeit nachschlagen.
Lernziele
- Aufbau und Zweck eines Webservice erklären
- Das REST-Paradigma anwenden und von SOAP abgrenzen
- HTTP-Methoden und Statuscodes bewusst einsetzen
- Ein Spring-Boot-Projekt aufsetzen und strukturieren
- Daten über JPA und ein Repository persistieren
- Dependency Injection über den Konstruktor anwenden
- Testfälle systematisch formulieren und ausführen
Tutorials
Arbeite die Tutorials der Reihe nach ab. Jedes enthält Aufgaben, die du abhaken kannst — die Haken bleiben in deinem Browser erhalten, solange du dasselbe Gerät benutzt.
Weitere Tutorials werden im Laufe des Schuljahres freigeschaltet.
Infoblätter
Nachschlagematerial zu den fachlichen Grundlagen — unabhängig davon, an welchem Tutorial du gerade arbeitest:
- Was ist ein Webservice? – Programme, die mit Programmen reden — und warum das etwas anderes ist als eine Webseite
- Das REST-Paradigma – Ressourcen statt Funktionen, die sechs Prinzipien, Idempotenz — und die Abgrenzung zu SOAP
- HTTP kompakt – Aufbau von Anfrage und Antwort, Methoden, Statuscodes, Header
- JSON – Aufbau des Datenformats, Abbildung auf Java-Typen, Serialisierung und typische Fehler
- Maven und Abhängigkeiten – pom.xml, GAV-Koordinaten, transitive Abhängigkeiten, Starter und der Maven Wrapper
- JPA und Hibernate – Objektrelationales Mapping, der Unterschied zwischen JPA, Hibernate und Spring Data
- Testfälle formulieren – Äquivalenzklassen, Grenzwerte und was man an einer REST-Schnittstelle prüft
- Lombok – Boilerplate beim Kompilieren erzeugen — und wo @Data gefährlich wird
- Abgeleitete Abfragen – Der Methodenname als Abfrage, die Bausteine, und wann JPQL besser ist
Impressum
Diese Seite ist Teil einer schulischen Lernsituation im Bildungsgang Fachinformatiker/in – Anwendungsentwicklung am Schulzentrum Utbremen, Bremen.
Verantwortlich im Sinne des § 5 DDG ist das Schulzentrum Utbremen. Vollständiges Impressum: szut.de/impressum.html
Diese Seite dient ausschließlich der schulischen Ausbildung und verfolgt keine kommerziellen Zwecke.