REST API
Architekturstil für Web-Schnittstellen, bei dem Ressourcen über HTTP-Verben (GET, POST, PUT, DELETE) adressiert werden.
Aktualisiert: 23. Februar 2026
Was ist eine REST API?
REST steht für Representational State Transfer — ein Architekturstil für verteilte Systeme, den Roy Fielding 2000 in seiner Dissertation beschrieben hat. Eine REST API ist eine Programmierschnittstelle, die nach diesen Prinzipien aufgebaut ist. Der Begriff „API" (Application Programming Interface) bezeichnet generell eine Schnittstelle, über die Anwendungen miteinander kommunizieren. REST-APIs nutzen HTTP als Transportprotokoll und adressieren Ressourcen über URLs.
- Einheitliche Schnittstelle: Ressourcen werden über URLs identifiziert, Operationen über HTTP-Verben
- Zustandslosigkeit: Jede Anfrage enthält alle nötigen Informationen — kein Server-seitiger Session-State
- Client-Server-Trennung: Frontend und Backend sind unabhängig voneinander
- Cachbarkeit: Antworten können als cachebar oder nicht-cachebar markiert werden
- Schichtensystem: Client muss nicht wissen, ob er direkt mit dem Server kommuniziert
Wie funktioniert eine REST API?
Die Kommunikation läuft über HTTP-Verben (Methoden), die bestimmen, welche Operation auf einer Ressource ausgeführt wird:
| HTTP-Verb | Bedeutung | Beispiel |
|---|---|---|
GET | Ressource lesen | GET /wp-json/wp/v2/posts/42 |
POST | Neue Ressource erstellen | POST /wp-json/wp/v2/posts |
PUT / PATCH | Ressource aktualisieren | PUT /wp-json/wp/v2/posts/42 |
DELETE | Ressource löschen | DELETE /wp-json/wp/v2/posts/42 |
Anfragen und Antworten werden in der Regel als JSON übertragen. Der Server antwortet mit HTTP-Statuscodes: 200 OK, 201 Created, 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 500 Internal Server Error.
Die WordPress REST API
WordPress hat seit Version 4.7 eine eingebaute REST API. Sie macht Inhalte unter dem Pfad /wp-json/ erreichbar und ermöglicht es, WordPress als Headless CMS zu betreiben oder React/Vue-basierte Admin-Oberflächen zu bauen.
Wichtige Endpunkte:
/wp-json/wp/v2/posts— Beiträge/wp-json/wp/v2/pages— Seiten/wp-json/wp/v2/users— Benutzer (erfordert Authentifizierung)/wp-json/wp/v2/media— Medienbibliothek
Authentifizierung: Für lesende Zugriffe auf öffentliche Inhalte ist keine Authentifizierung nötig. Schreibende Operationen und geschützte Ressourcen erfordern entweder Cookie-Authentifizierung mit Nonce (im Admin-Kontext) oder Application Passwords (seit WordPress 5.6).
Nonces: Im WordPress-Admin-Kontext wird für REST-Anfragen eine Nonce (Number used Once) benötigt, um Cross-Site-Request-Forgery-Angriffe zu verhindern. Die Nonce wird serverseitig generiert und ist zeitlich begrenzt.
// Nonce für REST API im Admin-Kontext abrufen
const nonce = await fetch('/wp-admin/admin-ajax.php?action=rest-nonce', {
credentials: 'include'
}).then(r => r.text());
Custom Endpoints: Plugins können eigene REST-Endpunkte unter einem eigenen Namespace registrieren:
register_rest_route('mein-plugin/v1', '/daten', [
'methods' => 'GET',
'callback' => 'meine_callback_funktion',
'permission_callback' => 'is_user_logged_in',
]);
REST API in der Praxis
Die WordPress REST API ist die Grundlage moderner WordPress-Entwicklung:
- Block Editor (Gutenberg): Kommuniziert ausschließlich über die REST API mit dem Backend.
- Entkoppelte Frontends: Nuxt.js, Next.js oder React-Apps können WordPress als reines Daten-Backend nutzen.
- Mobile Apps: Native Apps greifen über die REST API auf WordPress-Inhalte zu.
- Automatisierungen: Drittanbieter-Tools (Zapier, Make) integrieren sich über die REST API.
Was passiert ohne REST API?
Ohne die REST API wäre modernes WordPress-Development kaum möglich. Der Gutenberg-Editor würde nicht funktionieren. Headless-WordPress-Setups wären nicht realisierbar. Und Plugin-Entwickler müssten auf ältere, weniger strukturierte Mechanismen (admin-ajax.php) zurückgreifen, die keine standardisierte Fehlerbehandlung, kein Schema und keine Versionierung bieten.
Häufige Fragen
Ist die WordPress REST API sicher?
Die API selbst ist sicher, wenn sie korrekt genutzt wird. Jeder Endpunkt, der Daten verändert oder schützenswerte Informationen liefert, muss mit einem permission_callback abgesichert sein. Ein häufiger Fehler ist 'permission_callback' => '__return_true' in Produktionsumgebungen.
Was ist der Unterschied zwischen REST und GraphQL? REST gibt für jeden Endpunkt eine feste Datenstruktur zurück. GraphQL erlaubt es dem Client, genau die Felder abzufragen, die er benötigt. WordPress bietet mit dem WPGraphQL-Plugin auch eine GraphQL-Schnittstelle. REST ist einfacher zu cachen; GraphQL ist flexibler bei komplexen Datenstrukturen.
Kann die REST API deaktiviert werden? Technisch ja, über Filter in functions.php oder Security-Plugins. Das ist aber für die meisten Setups nicht empfehlenswert, da der Block-Editor und viele Plugins auf die API angewiesen sind. Sinnvoller ist es, unauthentifizierten Zugriff auf sensible Endpunkte zu beschränken.
Verwandte Begriffe
HTTP · JWT · PHP · XML-RPC