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.

Widerrufbutton im Onlineshop

Widerrufbutton im Onlineshop

Bei allen B2C Fernabsatzverträgen muss es ab Spätestens ab dem 19. Juni 2026 möglich sein den geschlossenen Vertrag genauso einfach zu widerrufen wie abzuschließen. Was muss ich umbauen? Wie sieht eine Lösung für...

Read more

wasapi modus ausschalten

Um den WASAPI-Exklusivmodus in Windows zu deaktivieren, öffnen Sie über mmsys.cpl (Win+R) die Soundeinstellungen, wählen das Wiedergabegerät aus und entfernen unter „Eigenschaften“ > „Erweitert“ die Haken bei „Anwendungen haben alleinige...

Read more

JCE Fileupload maximum 1024kb

JCE Fileupload maximum 1024kb

Der JCE lässt nur Dateien bis 1024KB ( 1 MB ) zu

Read more

Joomla OSmap Update führt zu Fatal Error…

Joomla OSmap Updates

Die aktuellen Updates von OSMap Free verursachen Fehler bei einem Update.  Problem ist die Erweiterung "ShackExtensionSupport" darin befindet sich die Datei "AbstractScript.php"

Read more

Matomo Cronjob bei ALLinkl einrichten

Matomo (früher Piwik) ist ein Open-Source-Webanalyse-Tool, das ähnlich wie Google Analytics funktioniert, aber mit starkem Fokus auf Datenschutz, Datenhoheit und DSGVO-Konformität.Es kann entweder selbst gehostet (On-Premise) oder als Cloud-Lösung genutzt...

Read more

Unclosed regex pattern at position

Joomshaper Compress JS

Ein unschöner Fehler tritt im Zusammenspiel vom JoomShaper Template „shaper_helixultimate“ und dem Video Plugin „AllVideos (by JoomlaWorks)“ auf.

Read more

Joomla & WordPress-Website lokal/off…

Website lokal speichern mit HTTrack

Ein statisches Backup (HTML Seiten) einer dynamischen Webseite auf CMS Basis (PHP MySQL) wie Wordpress oder Joomla macht sich am besten mit HTTrack. Wir nutzen das Tool gern um einzelne Seiten...

Read more

HTTrack Empty Mirror Error

HTTrack Empty Mirror Error

Wir nutzen den guten alten „WinHTTrack Website Copier“ gern um eine statische Kopie einer Joomla oder Wordpress-Webseite zu erstellen und abzulegen. Das ist vor allem bei Maintenance oder Baustellenseiten eine...

Read more

REST-API : Datenbankmigrationen mit Alem…

Im Zuge der Entwicklung einer REST API mit Python, kommen wir jetzt zu Datenbankmigrationen mit Alembic. Migrationen sind extrem wichtig, wenn du deine Datenbankstruktur im Laufe der Entwicklung ändern willst (z...

Read more
Wir nutzen Cookies auf unserer Website. Diese sind essenziell für den Betrieb der Seite, sogenannte Tracking Cookies werden nicht eingesetzt. Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.