Der Kompaktkurs für Einsteiger
Viel zu häufig existieren schlecht dokumentiere und implementierte REST APIs. Dieser Kurs soll Abhilfe schaffen! Ich möchte euch eine Möglichkeit aufzeigen, wie ihr schneller bessere APIs schreiben und dokumentieren könnt.
Dabei wird in diesem Kurs ein standardisiertes Framework names OpenAPI verwendet, mit dem wir einfach REST Schnittstellen formal spezifizieren können. Aus solch einer Spezifikation lassen sich anschließend gewisse Artefakte wie z.B. Code, Dokumentation oder Tests generieren.
Wir werden im Laufe des Kurses zwei unterschiedliche Anwendungsfälle einer OpenAPI Spezifikation kennen lernen. Im ersten Fall generieren wir Code, im zweiten Fall nutzen wir es für manuelle Tests.
Code Generierung
Als praktisches Beispiel implementieren wir eine REST API mit Spring Boot und Kotlin. Um RestController nicht manuell anlegen zu müssen, nutzen wir einen Code-Generator, der anhand einer OpenAPI Spezifikation Interfaces und Modellklassen generiert. Der Code-Generator wird dabei in den Build-Prozess der Spring Boot Applikation eingebunden, damit bei jedem neuen Build-Vorgang die generieren Klassen geupdated werden.
Manuelles APITesting
Wir werden außerdem die OpenAPI Spezifikation in den REST Client Postman importieren, um so automatisch alle verfügbaren Requests zu erstellen. Damit können wir unsere API manuell testen.
Was du in diesem Kurs lernen wirst
Grundlagenwissen zu REST APIs (REST Ressourcen, HttpMethoden, Http Status Codes)
OpenAPI 3 als Standard zur Beschreibung von RESTful APIs
Kurzer Exkurs zu YAML, einer Beschreibungssprache für OpenAPI Spezifikationen
Entwurf einer REST API mit OpenAPI 3 mit Header-Parameter, Request-Parameter, Request- und Response-Body
Einbindung des OpenAPI Code Generators in den Build Prozess eines Spring Boot Services zur Generierung von Interfaces und Modellklassen
Manuelles API Testing mithilfe von Postman und einer OpenAPI Spezifikation