Zum Hauptinhalt springen
Blog & News

Aktuelles & Updates von
Joomla, Wordpress und Co.

News, HowTos und Tutorials rund um Webdesign, Webentwicklung, Webhosting und Digitalisierung.

Blog & News

Was ist eine REST-API?

15.09.2025 · 2 Min Lesezeit

REST = Representational State Transfer
Es ist ein Architekturstil für Web-APIs, bei dem HTTP als Transportprotokoll genutzt wird.
Eine REST-API stellt Ressourcen (z. B. User, Produkte, Bestellungen) über eindeutige URLs zur Verfügung.

Beispiel:

GET https://api.shop.com/products/42

 

Eigenschaften einer REST-API

  • Ressourcenorientiert → Jede Entität hat eine eigene URL.

  • Stateless → Jeder Request enthält alle Infos (z. B. Authentifizierung). Der Server speichert keinen Zustand.

  • HTTP-Methoden werden semantisch genutzt:

    • GET → Daten lesen

    • POST → neue Daten anlegen

    • PUT / PATCH → Daten ändern

    • DELETE → Daten löschen

  • Antwortformate: Meist JSON, manchmal auch XML oder YAML.

Wie erstellt man eine REST-API?

Das hängt von der Programmiersprache und dem Framework ab.
Ein generischer Ablauf:

  1. Datenmodell definieren

    • Welche Ressourcen gibt es? (z. B. User, Product, Order)

    • Welche Felder haben sie?

  2. Endpoints entwerfen

    • Beispiel:

      • GET /users → Liste aller Nutzer

      • GET /users/{id} → Details zu einem Nutzer

      • POST /users → neuen Nutzer anlegen

      • PUT /users/{id} → Nutzer aktualisieren

      • DELETE /users/{id} → Nutzer löschen

  3. Implementieren mit Framework
    Beispiele:

    • Node.js/Express: app.get('/users', ...)

    • Python/Flask oder FastAPI: @app.get("/users")

    • Java/Spring Boot: @GetMapping("/users")

    • .NET Web API: [HttpGet("users")]

  4. Datenbank anbinden (z. B. SQL oder NoSQL).

  5. Auth & Sicherheit

    • API-Keys, OAuth2 oder JWT für Authentifizierung.

    • HTTPS statt HTTP.

  6. Dokumentation & Testing

    • Swagger / OpenAPI für Dokumentation.

    • Postman oder cURL zum Testen.

 

Best Practices für Nutzung

Versionierung: /api/v1/users → verhindert Breaking Changes.

Konsistentes Design: gleiche Strukturen und Fehlercodes.

HTTP-Statuscodes korrekt nutzen:

  • 200 OK → erfolgreich

  • 201 Created → Ressource erstellt

  • 400 Bad Request → falsche Eingabe

  • 401 Unauthorized → Auth fehlt

  • 404 Not Found → Ressource existiert nicht

  • 500 Internal Server Error → Serverproblem

Pagination & Filtering für große Datenmengen (GET /users?page=2&limit=50).

Rate Limiting & Caching → Performance und Schutz.

OpenAPI/Swagger nutzen → erleichtert Client-Integration.

Zurück zur Übersicht