IT12A – Tom Werth – Kevin Schmitt

25.11.2025

APIs – SOAP – REST – HTTP & Demo

Eine übersichtliche Einführung in APIs, den Vorgänger SOAP, moderne REST-APIs, HTTP-Verben, Statuscodes und fetch(), inklusive Live-Demo.

API Übersicht

Vergleich von API, SOAP & REST mit alltagstauglichen Beispielen.

HTTP Praxis

Alle Verben, Statuscodes und fetch() werden live demonstriert.

Was ist eine API?

Eine API (Application Programming Interface) ist eine klar definierte Schnittstelle, über die verschiedene Programme oder Systeme miteinander kommunizieren können. Sie legt fest, welche Funktionen verfügbar sind und wie andere Anwendungen daruf zugreifen können , ohne die internen Abläufe kennen zu müssen.

Vergleich: Ein Restaurant

  • der Gast = Benutzer
  • Du bestellst, was du haben möchtest.
  • Menü = API (zeigt was möglich ist)
  • Das Menü zeigt dir, welche Gerichte (also welche Funktionen) verfügbar sind und wie du sie bestellen kannst.
  • Küche = Server (führt die Befehle aus)
  • Die Küche bereitet das Gewünschte zu. Du musst nicht wissen, wie das Gericht gekocht wird – du bekommst einfach das Ergebnis zurück.

SOAP – Der Vorgänger

SOAP (Simple Object Access Protocol) war über viele Jahre hinweg der etablierte Standard für Webservices, bevor modernere Architekturen wie REST populär wurden.

  • Verpflichtend: XML als Datenformat
  • SOAP-Nachrichten müssen immer in XML strukturiert sein.
  • Streng, komplex, formal
  • Klare Regeln und umfangreiche Vorgaben machen SOAP robust, aber weniger flexibel.
  • WSDL für Schnittstellenbeschreibung
  • Über eine WSDL-Datei (Web Services Description Language) wird exakt definiert, welche Funktionen ein Service bereitstellt.
  • Gut geeignet für Banken/Unternehmen
  • Dort werden hohe Anforderungen an Standardisierung, Transaktionssicherheit und Zuverlässigkeit gestellt.
  • Sehr sicher, aber schwerfälliger als REST
  • SOAP bietet starke Sicherheitsmechanismen, ist aber im Vergleich zu REST umfangreicher, langsamer und komplizierter.

REST – Moderne APIs

REST (Representational State Transfer) nutzt einfache, einheitliche Standards, um klar zu definieren, wie Clients mit dem Server interagieren – effizient, verständlich und weltweit etabliert.

  • Client-Server-Trennung
  • Klare Aufteilung zwischen Benutzeroberfläche (Client) und Datenverarbeitung (Server).
  • Stateless
  • Jeder Request enthält alle nötigen Informationen; der Server speichert keinen Sitzungszustand.
  • Cacheability
  • Antworten müssen angeben, ob sie cachebar sind, um Performance zu verbessern
  • Unitäres Interface
  • Einheitliche Nutzung von HTTP-Methoden, Statuscodes und Ressourcen-URLs.
  • Layered System
  • Architektur kann aus mehreren Vermittlungsschichten bestehen, ohne dass der Client diese kennen muss.
  • Code-on-Demand (optional)
  • Server kann ausführbaren Code an den Client schicken, um dessen Funktionen zu erweitern.

Aktionen (HTTP-Verbs)

GET

Lesen

Ressourcen abrufen.

POST

Neu erstellen

Neue Datensätze anlegen.

PUT

Aktualisieren

Bestehendes verändern.

DELETE

Löschen

Ressourcen entfernen.

HTTP-Statuscodes

Diese Codes zeigen den Erfolg oder Fehler einer Anfrage.

fetch()

fetch() ist das moderne, eingebaute Browser-API, um HTTP-Anfragen zu senden. Es arbeitet vollständig asynchron und gibt immer ein Promise zurück, wodurch der Code klar und übersichtlich bleibt.

fetch('/items')
    .then(if(!res.ok) console.error("error while fetching '/items' error: ${res.error}"))
    .then(res => res.json())
    .then(data => console.log(data));

Ablauf

  • fetch('/items') => sendet eine Anfrage an den Server.
  • .then(res => res.json()) => wandelt die Antwort in JSON-Daten um.
  • .then(data => console.log(data)) => verarbeitet die empfangten Daten.

GET /items

POST – Neuen Artikel erstellen

PUT & DELETE – Artikel-Liste

Das Modal und alle echten Responses erscheinen hier automatisch, gesteuert durch app.js.

Fazit

Zusammengefasst haben wir heute gesehen, was APIs sind, wie REST funktioniert, warum SOAP früher wichtig war, welche HTTP-Verben es gibt und wie man mit fetch() moderne API-Anfragen stellt.

Mit unserer Demo-Seite kann man das alles live ausprobieren und direkt erleben, wie APIs arbeiten.