RESTful API URL-Design: Entwicklerfreundlicher Endpoint-Leitfaden
Best Practices für RESTful API-Endpoint-Design. Erstellen Sie saubere, konsistente und skalierbare API-URL-Strukturen.
Beim RESTful API-Design beeinflusst die URL-Struktur direkt die Benutzerfreundlichkeit und Wartbarkeit Ihrer API. In diesem Leitfaden lernen wir, entwicklerfreundliche API-Endpoints zu entwerfen.
REST-Grundlagen
Was ist REST?
Representational State Transfer (REST) ist ein architektonischer Stil für Web-APIs. Er repräsentiert Ressourcen durch URLs und verwendet HTTP-Methoden.
HTTP-Methoden
GET → Ressource lesen
POST → Neue Ressource erstellen
PUT → Ressource vollständig ersetzen
PATCH → Ressource teilweise aktualisieren
DELETE → Ressource löschenURL-Designprinzipien
1. Substantive verwenden, keine Verben
# FALSCH - Verben verwenden
GET /getUsers
POST /createUser
# RICHTIG - Substantive verwenden
GET /users
POST /users2. Pluralformen verwenden
# FALSCH
/user
/product
# RICHTIG
/users
/products3. Hierarchische Struktur
# Bestellungen eines Benutzers
GET /users/123/orders
# Artikel einer Bestellung
GET /orders/456/itemsVersionierung
Version in URL
# Häufigste Methode
https://api.example.com/v1/users
https://api.example.com/v2/usersFilterung, Sortierung und Paginierung
Filterung
# Einfache Filterung
GET /products?category=electronics
# Vergleichsoperatoren
GET /products?price[gte]=100&price[lte]=500Sortierung
# Einzelfeld-Sortierung
GET /products?sort=price
GET /products?sort=-price # AbsteigendPaginierung
# Offset-basiert
GET /products?page=2&per_page=20
# Cursor-basiert (performanter)
GET /products?cursor=abc123&limit=20HTTP-Statuscodes
# Erfolg
200 OK → GET, PUT, PATCH erfolgreich
201 Created → POST erfolgreich
204 No Content → DELETE erfolgreich
# Client-Fehler
400 Bad Request → Ungültige Anfrage
401 Unauthorized → Authentifizierung erforderlich
403 Forbidden → Keine Berechtigung
404 Not Found → Ressource nicht gefundenFazit
Gut gestaltete API-URLs erhöhen die Benutzerfreundlichkeit Ihrer API und erleichtern die Wartung. Erstellen Sie entwicklerfreundliche APIs mit konsistenter Benennung, logischer Hierarchie und Standard-HTTP-Methoden.