REST für Entwickler

Wenn Sie als Entwickler zum ersten Mal mit REST-Services arbeiten, müssen Sie mit den Details dieses Servicestils vertraut sein. Eine Einführung in REST finden Sie in 'Architekturstile in Web-Services'.

Ressource, Darstellung, URI und Aktion

Aus der Sicht des Entwicklers basiert REST auf den folgenden Grundgedanken:
  • Zu einem bestimmten Zeitpunkt verfügt eine Ressource, wie beispielsweise eine Datenbankzeile mit Mitarbeiterdaten, über eine Darstellung. Eine Darstellung kann aus einer Gruppe von Programmwerten bestehen, die Personalnummer, Titel und Gehalt eines Mitarbeiters angeben.
  • Die Ressource verfügt darüber hinaus über einen URI (Universal Resource Identifier). Dies ist ein eindeutiger Name, z. B. http://www.example.com/gateway/employee/0020. In diesem Fall lautet die Personalnummer 0020. Im Allgemeinen ordnet der URI der Ressource einen Namen zu. Außerdem enthält der URI das Hauptdetail, das für den Zugriff auf einen REST-Service erforderlich ist.
  • Eine Aktion gibt an, was mit der Ressource geschehen soll. Mögliche Aktionen sind das Erstellen, Lesen, Aktualisieren oder Löschen der Ressource.

Der Anforderer eines REST-Service gibt eine Ressource und eine Aktion an. Beinhaltet die Aktion das Erstellen oder Aktualisieren einer Ressource, stellt der Anforderer eine Darstellung der Ressource bereit.

Pfadvariablen und Abfragezeichenfolgen

In HTTP kann ein URI die gewünschte Ressource folgendermaßen angeben:
  • Der URI kann Pfadvariablen enthalten, deren Werte die Ressource direkt angeben, ohne dass ein Service die Eingabe zur Bestimmung der Ressource verarbeiten muss. Im folgenden Beispiel ist die Personalnummer 0020 der Wert einer Pfadvariablen:
    http://www.example.com/gateway/employee/0020
    Pfadvariablen sind in den meisten Fällen geeignet. Es ist möglich, mehrere Pfadvariablenwerte zu verwenden, die durch Schrägstriche voneinander getrennt werden. Die Verwendung mehrerer Werte auf diese Weise weist auf eine hierarchische Beziehung hin. Die Pfadvariablenwerte im folgenden URI geben beispielsweise einen Unternehmensbereich (Consumer) und innerhalb dieses Unternehmensbereichs eine Abteilung (Sales) an:
    http://www.example.com/gateway/employee/Consumer/Sales
    Wenn Sie für den Zugriff auf die REST-Services eines anderen Herstellers Code in EGL schreiben, erstellen Sie eine URI-Vorlage, die den letzten Abschnitt eines URI darstellt. In der folgenden Beispielvorlage ist employeeNumber eine Pfadvariable:
    "/gateway/employee/{employeeNumber}"

    In einer URI-Vorlage werden die Namen von Pfadvariablen in geschweifte Klammern gesetzt.

  • Im Zusammenhang mit einer GET-Operation kann der URI durch eine Abfragezeichenfolge ergänzt werden, die eine Gruppe von Name/Wert-Paaren darstellt. Im folgenden Beispiel steht vor der Abfragezeichenfolge ein Fragezeichen (?) und die Name/Wert-Paare sind durch ein Et-Zeichen (&) voneinander getrennt:
    http://www.example.com/gateway/employee?division=Consumer&department=Sales
    Eine Abfragevariable ist ein Platzhalter für einen Wert in der Abfragezeichenfolge. Bei der Erstellung einer URI-Vorlage in EGL wird zur Angabe von Abfragevariablen dieselbe Syntax wie für Pfadvariablen verwendet. Im folgenden Beispiel sind divisionName und departmentName Abfragevariablen:
    "/gateway/employee?division={divisionName}&department={departmentName}"

    Im Vergleich zu Pfadvariablen ist die Verwendung von Abfragezeichenfolgen ist nicht so ideal, da sie weniger REST-konform sind. Die Verwendung von Abfragezeichenfolgen ist vor allem dann nützlich, wenn ein Service als Eingabe für die Servicelogik Name/Wert-Paare verwendet. In diesem Fall kann die Logik anhand der Eingabe feststellen, auf welche Ressource zugegriffen werden muss.


Feedback