REST (kurz für Representational State Transfer) ist ein Architekturstil für Service-Schnittstellen, der auf dem HTTP-Protokoll basiert. Überträgt man in diesem Architekturstil auf Webservices, spricht man von RESTFul Webservices.
REST-Konventionen
- Man hat seine Geschäftsobjekte wie CRUD definiert (HTTP Verbs)
- Die Service-Identifikationen werden entlang der Entities geschrieben
- Die Request-URI identifiziert den Service
- Die ausgetauschten Objekte sind Industriestandard (heutzutage meist JSON oder seltener XML)
- Der Primärschlüssel des Objektes, auf das sich der Service bezieht, wird in der URI mitgegeben
- Statt Individueller Fehlernachrichten nutzt man HTTP Status Codes
- Der Identifier der Ressource ist die vollständige URI
HTTP-Methoden in REST
| HTTP-Methode | CRUD-Entsprechung |
|---|---|
| POST | CREATE |
| GET | READ |
| PUT | UPDATE |
| DELETE | DELETE |
Anmerkungen zum Pfad
- Servicename ist in der Regel der Typname in Englisch entweder im Plural XOR im Singular
Beispiel:
/studentoder/students - Context Path = Pfadanteil, der allen Service-Pfaden vorangestellt ist
Beispiel:
/api - Zur Versionierung kann auch eine Versionsnummer in den Context Path aufgenommen werden
Beispiel:
/api/v1/studentsund/api/v2/students - Entitäten stehen miteinander in Beziehung, deshalb sind auch optionale “Sekundär”-Pfade definierbar
Beispiel:
/rooms/K004und/exams/vs-2026-02/room