Zum Hauptinhalt springen

REST-APIs mit Spring Boot

Lernsituationen LF8 – Fachinformatiker Anwendungsentwicklung

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-ParadigmaRessourcen statt Funktionen, die sechs Prinzipien, Idempotenz — und die Abgrenzung zu SOAP
  • HTTP kompaktAufbau von Anfrage und Antwort, Methoden, Statuscodes, Header
  • JSONAufbau des Datenformats, Abbildung auf Java-Typen, Serialisierung und typische Fehler
  • Maven und Abhängigkeitenpom.xml, GAV-Koordinaten, transitive Abhängigkeiten, Starter und der Maven Wrapper
  • JPA und HibernateObjektrelationales Mapping, der Unterschied zwischen JPA, Hibernate und Spring Data
  • Testfälle formulierenÄquivalenzklassen, Grenzwerte und was man an einer REST-Schnittstelle prüft
  • LombokBoilerplate beim Kompilieren erzeugen — und wo @Data gefährlich wird
  • Abgeleitete AbfragenDer 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.