← Tool-Übersicht
🌐
Prüfungsthema: Schnittstellen & APIs
🔗 Schnittstellen · Lernwerkzeug

REST-APIs & JSON/XML

HTTP-Methoden · Status Codes · JSON vs. XML · REST-Prinzipien

🎓Schwerpunkt AE & DV · Zunehmend in allen APs
💡 CRUD → HTTP: Create=POST · Read=GET · Update=PUT/PATCH · Delete=DELETE
🛠️ Request-Builder — Wähle die richtige Methode
📡 4 Szenarien · Wähle die richtige HTTP-Methode
Produkt 99 soll aus dem Shop gelöscht werden.
📡 HTTP-Methoden (CRUD)
GET
Daten abrufen. Idempotent, kein Body. Sicher (keine Änderungen).
→ GET /api/users/42 ← 200 OK + User-JSON
POST
Neuen Datensatz erstellen. Nicht idempotent. Body enthält neue Daten.
→ POST /api/users ← 201 Created + neuer User
PUT
Datensatz vollständig ersetzen. Idempotent.
→ PUT /api/users/42 ← 200 OK oder 204 No Content
PATCH
Datensatz teilweise aktualisieren (nur geänderte Felder).
→ PATCH /api/users/42 ← 200 OK mit aktualisiertem User
DELETE
Datensatz löschen. Idempotent.
→ DELETE /api/users/42 ← 204 No Content
📊 HTTP Status Codes
Erfolg
200OK – Anfrage erfolgreich
201Created – Ressource erstellt
204No Content – Erfolgreich, kein Body
Weiterleitung
301Moved Permanently – URL dauerhaft geändert
304Not Modified – Cache ist aktuell
Client-Fehler
400Bad Request – Ungültige Anfrage
401Unauthorized – Nicht authentifiziert
403Forbidden – Kein Zugriff
404Not Found – Ressource nicht gefunden
422Unprocessable – Validierungsfehler
Server-Fehler
500Internal Server Error
503Service Unavailable – Server überlastet
📄 JSON vs. XML — gleiche Daten, unterschiedliches Format
{ } JSON Leichter · REST-Standard
{
  "id": 42,
  "name": "Max Müller",
  "email": "max@beispiel.de",
  "aktiv": true,
  "alter": 28,
  "adresse": {
    "strasse": "Hauptstr. 1",
    "stadt": "Berlin"
  },
  "tags": ["entwickler", "python"],
  "notizen": null
}
</> XML Ausführlicher · Enterprise
<?xml version="1.0" encoding="UTF-8"?>
<benutzer id="42">
  <name>Max Müller</name>
  <email>max@beispiel.de</email>
  <aktiv>true</aktiv>
  <alter>28</alter>
  <adresse>
    <strasse>Hauptstr. 1</strasse>
    <stadt>Berlin</stadt>
  </adresse>
  <tags>
    <tag>entwickler</tag>
    <tag>python</tag>
  </tags>
</benutzer>
Merkmal JSON XML
Lesbarkeit Sehr gut Gut (ausführlicher)
Dateigröße Kleiner Größer (Tags als Overhead)
Parsing Direkt in JS/Python XML-Parser nötig
Attribute Nicht unterstützt Unterstützt (id="42")
Schema JSON Schema XSD (XML Schema)
Einsatz REST-APIs, Web SOAP, Enterprise, Config
Kommentare Nicht möglich Möglich
📋 9 Fragen · Multiple Choice
Welche HTTP-Methode wird verwendet um einen neuen Datensatz zu erstellen?