REST API Design
Dieser Beitrag ist eine Begriffserklärung zum Thema REST API Design – inklusive Prüfungsfragen, Kernkomponenten und Tags.
In a Nutshell
REST ist ein Architekturstil für Web-Services, der ressourcenorientiertes Design und HTTP-Methoden nutzt, um skalierbare Schnittstellen zu schaffen.
Kompakte Fachbeschreibung
REST (Representational State Transfer) basiert auf sechs Constraints (u.a. Client-Server-Trennung, zustandslose Kommunikation). Ressourcen werden über URIs adressiert und über Repräsentationen (JSON/XML) übertragen. HTTP-Methoden (GET, POST, PUT, DELETE) bilden CRUD-Operationen ab. HATEOAS kann APIs „navigierbar“ machen. Performance wird u.a. durch Caching und Pagination optimiert.
Prüfungsrelevante Stichpunkte
- Richardson Maturity Model zur Bewertung der API-Qualität
- Idempotenz von PUT vs. POST
- HATEOAS als Hypermedia-Prinzip
- Sicherheit durch OAuth 2.0 und HTTPS
- Versionierung über URI oder Header
Kernkomponenten
- Ressourcen (URI-Design)
- HTTP-Methoden (GET, POST, PUT, DELETE)
- Statuscodes (200, 201, 400, 401, 404, 500)
- Medienformate (JSON, XML)
- Sicherheitsmechanismen (HTTPS, OAuth)
Praxisbeispiel (Benutzerverwaltungs-API)
Ressourcen:
/users
/users/{id}
GET /users?page=1
POST /users
PUT /users/{id}
DELETE /users/{id}
Vor- und Nachteile
| Vorteile | Nachteile |
|---|---|
| Einfache Integration | Komplexe Fehlerbehandlung |
| Wiederverwendbarkeit | Ohne Doku schwer nutzbar |
| Skalierbarkeit | Overfetching bei großen Ressourcen |
Top Prüfungsfragen (mit Kurzantwort)
- Welche HTTP-Methode ist idempotent aber nicht sicher? PUT.
- Wie verhindert man Overfetching? Durch spezifische Abfrageparameter (oder alternative Ansätze wie GraphQL).
- Drei Sicherheitsrisiken bei REST APIs? Broken Authentication, Mass Assignment, Injection.
- Was bedeutet HATEOAS? Hypermedia As The Engine Of Application State – Links steuern Navigation.
- Wie dokumentierst du REST APIs? Mit OpenAPI (Swagger).
Glossar
| Begriff | Definition |
|---|---|
| Idempotenz | Mehrfache Ausführung hat gleiche Wirkung wie einmal |
| HATEOAS | Hypermedia-basierte Navigation zwischen Ressourcen |
| OAuth 2.0 | Autorisierungsframework für delegierten Zugriff |
Themenanalyse
- Technischer Kern: HTTP-Protokoll, Ressourcenmodellierung
- Implementierungsherausforderungen: konsistentes URI-Design, Fehlerhandling
- Sicherheitsimplikationen: Authentifizierung, Verschlüsselung
- Dokumentationspflichten: OpenAPI-Spezifikation
- Wirtschaftliche Bewertung: Wiederverwendung reduziert Entwicklungskosten
Lernstrategie
- Verständniseinstieg: Analysiere eine bekannte API (z.B. GitHub REST API).
- Vertiefungsmethode: Schreibe eine kleine OpenAPI-Spezifikation (Adressbuch).
- Prüfungsfokustraining: Designe eine Produkt-API in 15 Minuten.
- Fehlervermeidung: Prüfe Security mit OWASP ZAP.
Wichtigste Quellen
- https://swagger.io/specification/
- https://owasp.org/www-project-api-security/
- https://docs.github.com/rest
- https://www.postman.com/api-examples/