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
- 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
- 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/0020Pfadvariablen 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/SalesWenn 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=SalesEine 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.