REST API

REST APIs nutzen HTTP-Methoden, um Ressourcen zu verwalten, die durch URIs identifiziert werden, und ermöglichen so skalierbare, flexible Web Services.

REST APIs modellieren Anwendungen als eine Sammlung von Ressourcen, die durch eindeutige URIs identifiziert werden. Clients interagieren mit diesen Ressourcen über eine feste Menge von Operationen, die üblicherweise HTTP-Methoden (GET, POST, PUT, PATCH, DELETE) zugeordnet sind. Wichtige Constraints sind: Statelessness (kein serverseitiger Client-Kontext zwischen Anfragen), eine Uniform Interface (standardisierte Methoden, URIs und Medientypen), Client-Server-Trennung, Cacheability und ein Layered System. Repräsentationen (typischerweise JSON oder XML) werden über HTTP übertragen, und Content Negotiation, Versioning und HATEOAS (optional) steuern die Client-Interaktionen. REST ist ein architectural style, kein Protokoll, und obwohl es gut zum Web passt, erfordert ein praktisches RESTful Design die Abwägung von Over-Fetching, Under-Fetching und Sicherheitsbedenken wie Authentication, Authorization und Transport Security (TLS).

        graph LR
  Center["REST API"]:::main
  Pre_http["http"]:::pre --> Center
  click Pre_http "/terms/http"
  Pre_api["api"]:::pre --> Center
  click Pre_api "/terms/api"
  Rel_apache_http_server["apache-http-server"]:::related -.-> Center
  click Rel_apache_http_server "/terms/apache-http-server"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 Erkläre es wie einem 5-Jährigen

Wie ein Warenautomat: Jedes Produkt hat einen Code. Der Automat merkt sich nicht, wer Sie sind, nachdem Sie etwas gekauft haben.

🤓 Expert Deep Dive

REST ist kein Standard, sondern ein Stil. Wichtige Konzepte sind Idempotenz (sicheres Wiederholen von Anfragen) und HATEOAS.

🔗 Verwandte Begriffe

Voraussetzungen:

📚 Quellen