OpenAPI – der Vertrag zwischen API und Client
OpenAPI (bis 2015 „Swagger“) beschreibt eine HTTP-API maschinenlesbar in einer YAML- oder JSON-Datei: welche Pfade es gibt, welche Parameter und Bodies erlaubt sind, welche Antworten kommen und wie man sich anmeldet. Aus dieser einen Datei entstehen Dokumentation, Client-Code, Mock-Server und Tests.
🔗Eine Datei, viele Nutznießer
📦 Client-SDKs
Erzeugt typisierte Clients (TypeScript, Java, Python …) – Tippfehler in Pfaden fallen beim Kompilieren auf.
🗓️Von Swagger zu OpenAPI 3.2
- 1.010.08.2011Erste Swagger-Spezifikation
- 1.214.03.2014Erstes formales Dokument
- 2.008.09.2014Swagger 2.0 – eine Datei, JSON/YAML
- 2.031.12.2015Übergabe an die OpenAPI Initiative (Linux Foundation)
- 3.0.026.07.2017Umbenennung zu OpenAPI, components, requestBody, servers
- 3.1.015.02.2021Voll kompatibel mit JSON Schema 2020-12, webhooks
- 3.0.4 / 3.1.124.10.2024Patch-Releases (Klarstellungen)
- 3.2.019.09.2025QUERY, Tag-Hierarchie, Streaming, $self, Device-Flow
- 3.1.219.09.2025Patch-Release
- 3.2.110.09.2026Patch-Release – aktuellste Version
🧭Kapitel
Aufbau einer OpenAPI-Datei
Interaktiver Baum: openapi, info, servers, paths, Operationen, components – und wie $ref aufgelöst wird.
Editor + Live-Vorschau
YAML oder JSON links, selbst gebaute Doku rechts. Validierung mit verständlichen deutschen Meldungen.
Request-Debugger
Eine HTTP-Anfrage in 8 Schritten gegen die Spezifikation prüfen: Pfad, Methode, Security, Parameter, Body.
Code & Werkzeuge
TypeScript-Typen, fetch-Client und curl aus der Spezifikation; Generatoren, Mock-Server, Linter.
Security-Schemes
API-Key, Basic, Bearer, OAuth2-Flows und OpenID Connect – als Ablauf und als HTTP-Header.
Praxis
Versionierung, Best Practices, häufige Fehler und Abgrenzung zu AsyncAPI, GraphQL, JSON:API, MCP.
❓Swagger oder OpenAPI?
📜 OpenAPI Specification
Der offene Standard der OpenAPI Initiative (Linux Foundation). Versionen ab 3.0 heißen „OpenAPI“.
🛠️ Swagger
Heute der Markenname einer Werkzeugfamilie (Swagger UI, Swagger Editor, Swagger Codegen). Die Spezifikation bis 2.0 hieß ebenfalls Swagger.
🧾 OAD
„OpenAPI Description“ – so nennt die Spezifikation eine konkrete Beschreibung (eine oder mehrere Dateien), z. B. openapi.yaml.