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-MethodeCRUD-Entsprechung
POSTCREATE
GETREAD
PUTUPDATE
DELETEDELETE

Anmerkungen zum Pfad

  • Servicename ist in der Regel der Typname in Englisch entweder im Plural XOR im Singular Beispiel: /student oder /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/students und /api/v2/students
  • Entitäten stehen miteinander in Beziehung, deshalb sind auch optionale “Sekundär”-Pfade definierbar Beispiel: /rooms/K004 und /exams/vs-2026-02/room