Sobes.tech
Junior

Was ist eine REST-API?

sobes.tech KI

Antwort von AI

REST API ist ein architektonischer Stil zum Aufbau verteilter Systeme. Die Grundprinzipien von REST:

  • Zustandslosigkeit: Jede Anfrage des Clients an den Server muss alle notwendigen Informationen enthalten, um sie zu verarbeiten. Der Server speichert keinen Zustand des Clients zwischen den Anfragen.
  • Client-Server: Klare Trennung der Verantwortlichkeiten zwischen Client und Server. Der Client sendet Anfragen, der Server verarbeitet sie.
  • Cachefähig: Der Server muss angeben, ob die Antworten vom Client oder Zwischenstationen zwischengespeichert werden dürfen.
  • Schichtensystem: Der Client interagiert nicht unbedingt direkt mit dem Endserver; er kann über Zwischenlayer (Proxys, Load Balancer) interagieren.
  • Einheitliche Schnittstelle: Ein einheitlicher und standardisierter Weg der Interaktion zwischen Client und Server. Dieser Grundsatz umfasst:
    • Ressourcenidentifikation: Ressourcen (Daten) werden über URLs identifiziert.
    • Manipulation von Ressourcen durch Repräsentationen: Der Client interagiert mit Ressourcen, indem er ihre Repräsentationen (z.B. JSON, XML) erhält und neue Repräsentationen zum Ändern sendet.
    • Selbstbeschreibende Nachrichten: Jede Nachricht enthält genügend Informationen, um sie zu verarbeiten.
    • HATEOAS (Hypertext As The Engine Of Application State): Ressourcen sollten Links (Hyperlinks) zu verwandten Ressourcen und verfügbaren Aktionen enthalten.

REST API verwendet in der Regel standardmäßige HTTP-Methoden, um Operationen an Ressourcen durchzuführen:

  • GET: Abrufen einer Ressource oder Sammlung von Ressourcen.
  • POST: Erstellen einer neuen Ressource.
  • PUT: Vollständige Aktualisierung einer bestehenden Ressource.
  • PATCH: Teilaktualisierung einer bestehenden Ressource.
  • DELETE: Löschen einer Ressource.

Beispiel für eine JSON-Repräsentation einer Ressource:

{
  "id": 1, // Identifikator
  "name": "Resource Name", // Name der Ressource
  "description": "Detailed description of the resource." // Beschreibung der Ressource
}

Tests für REST API umfassen die Überprüfung:

  • Funktionalität (Korrektheit der Antworten auf Anfragen).
  • Fehlerbehandlung.
  • Leistung.
  • Sicherheit.
  • Übereinstimmung mit der Dokumentation.