Ressourcen in RESTful-Anwendungen definieren
Mit JAX-RS (Java™ API for RESTful Web Services) können Sie Services entwickeln, die auf den Prinzipien von Representational State Transfer (REST) basieren. RESTful-Services basieren auf der Bearbeitung von Ressourcen. Ressourcen können statische oder dynamisch aktualisierte Daten enthalten. Wenn Sie die Ressourcen in Ihrer Anwendung definieren, können Sie den Service effizienter machen und so gestalten, dass er einfacher entwickelt werden kann.
Vorbereitende Schritte
Nachdem Sie die Anwendung angegeben haben, die Sie als RESTful-Service bereitstellen möchten, müssen Sie die Ressourcen für die RESTful-Anwendung definieren. Nachdem Sie die Ressourcen definiert haben, überlegen Sie, welche Daten Sie bereitstellen möchten. Vielleicht haben Sie bereits eine relationale Datenbank, die Informationen enthält, die Sie mit REST-Technologie den Benutzern bereitstellen möchten. Haben Sie bereits eine Gruppe von Java-Klassen für den Zugriff auf diese Daten definiert?
Betrachen Sie z. B. den Fall einer Anwendung, die zur Unterstützung einer Buchhandlung definiert wird. Diese Anwendung hat gegenwärtig eine Datenbank mit verschiedenen Tabellen, die die einzelnen Artikel in der Buchsammlung und im Bestand jedes einzelnen Buchs definieren. In diesem Beispiel gibt es eine Reihe von Möglichkeiten, die Daten in der Datenbank einer RESTful-Anwendung darzustellen. Eine Möglichkeit besteht darin, jede Tabelle als individuelle Ressource zu betrachten, damit jedes Verb in der RESTful-Anforderung den Aktionen entspricht, die die Datenbank für diese Tabelle unterstützt, wie z. B. Auswählen, Einfügen, Aktualisieren und Löschen. Dieses Beispiel ist ein einfacher Ansatz zur Erstellung einer RESTful-Anwendung. Dieser Ansatz, bei dem das Beispiel mit der Buchhandlung eingesetzt wird, ist auch in der Dokumentation zu finden, in der beschrieben wird, wie URL-Muster für Ressourcen, Ressourcenmethoden, HTTP-Header und HTTP-Antwortcodes, Medientypen und Parameter für die Darstellung von Anforderungen definiert werden können.
Möglicherweise ist zur Unterstützung dieser Datenbank für die Buchhandlungsanwendung bereits Code vorhanden, der für den Zugriff auf die Datenbank und das Abrufen der Daten aus den einzelnen Tabellen vorgesehen ist. Die Zeilen in den einzelnen Tabellen repräsentieren zwar logisch alle Ressourcen, die Zugriffsklassen werden jedoch für die Definition der Ressourcen verwendet. In der Dokumentation zur Implementierung von JAX-RS-Anwendungen finden Sie weitere Einzelheiten zur Einbindung dieser Klasse in die JAX-RS-Anwendung.
Alternativ dazu haben Sie möglicherweise weiteren statischen Inhalt, der sich nicht in einer Datenbank befindet und den Sie in Form von Ressourcen verteilen möchten. Mit JAX-RS können Sie Inhalt aus mehreren Quellen verteilen, sei es aus einer Sammlung von Dokumenten in verschiedenen Formaten oder aus einer ressourcenbasierten Fassade für andere ferne Systeme.
Informationen zu diesem Vorgang
Ressourcen sind die Grundbausteine eines RESTful-Service. Im Falle einer Onlinebuchhandlung sind Ressourcen beispielsweise ein Buch, eine Bestellung von einem Geschäft, ein Benutzerverbund.
Ressourcen können mit URLs adressiert werden, und HTTP-Methoden können Operationen für Ressourcen ausführen. Ressourcen können mehrere Darstellungen in verschiedenen Formaten wie XML und JSON haben. Sie können HTTP-Header und -Parameter verwenden, um weitere Informationen, die für Anforderungen und Antworten relevant sind, zu übergeben.
Mit JAX-RS können Sie vorhandene oder neue POJO-Objekte (Plain Old Java Objects) mit bestimmten JAX-RS-Annotationen versehen. Annotierte JAX-RS-Ressourcenklassen und die annotierten Methoden werden je nach URI-Muster gestartet.
Vorgehensweise
- Geben Sie die Ressourcentypen in der Anwendung an.
- Optional: Geben Sie vorhandene Java-Klassen an, die Sie als Ressourcenklassen verwenden können.
- Erstellen Sie neue Java-Klassen für Ressourcen, die keine Java-Klasse haben.
Ergebnisse
Sie haben den Inhalt festgelegt, den Sie als Ressourcensammlung in Ihrer Anwendung bereitstellen möchten.
Nächste Schritte
Lesen Sie in der Dokumentation, wie Sie - ausgehend von den Ressourcen, die Sie definiert haben - URL-Muster für Ressourcen, Ressourcenmethoden, HTTP-Header und HTTP-Antwortcodes, Medientypen und Parameter für die Darstellung von Anforderungen definieren können. So werden Sie weitere Schritte kennen lernen, die Sie ausführen können, um die Ressourcen für Ihre JAX-RS-Anwendung zu definieren.