REST und HATEOAS – Verlinkung von Resources

Beziehungsfragen

Michael Schäfer, Peter Huber
Image licensed by Ingram Image

Schon wieder ein Artikel über REST, werden Sie jetzt sagen. Ja, schon wieder, sagen wir! Wir haben in diesem Artikel zwei interessante, praxisrelevante Aspekte herausgegriffen, auf die wir in Projekten immer wieder stoßen. Zum einen ist hier der designtechnische Aspekt zu nennen, der sich hinter der Abkürzung HATEOAS versteckt. HATEOAS ist die Abkürzung für „Hypermedia as the Engine of Application State“. Wir zeigen Ihnen, wie HATEOAS dabei hilft, bessere REST-APIs zu entwerfen. Zum anderen ist der Aspekt der Technik, konkret das Spring Framework, von Interesse. Hier werden wir uns das leichtgewichtige Spring HATEOAS, das uns durch unsere Beispiele begleiten wird, genauer anschauen. Wir setzen dabei ein grundlegendes Verständnis sowohl von REST als auch von Spring voraus. Der Leser sei hier auf diverse Artikel im Java Magazin verwiesen, die diese beiden Themen behandeln.

Wir müssen reden! Keine Angst, das ist keine Beziehungsberatung. Stattdessen widmen wir uns einem wichtigen Aspekt beim Design eines guten REST-API, nämlich der Abbildung von Beziehungen zwischen einzelnen Ressourcen in unserem Datentransportformat. Man kennt das typischerweise aus der Datenbankwelt, in der wir ständig auf 1:1-, 1:n- und n:m-Beziehungen treffen. Durch diesen Artikel begleitet uns ein Beispiel einer 1:n-Beziehung, nämlich die zwischen einem Java Magazin und den Artikeln dieses Magazins.

(Lesen Sie den kompletten Artikel im Java Magazin 2.15)

Geschrieben von
Michael Schäfer
Michael Schäfer
Michael Schäfer arbeitet als Lead IT Consultant im Bereich Applied Technology Research bei der msg systems ag in München. Sein Schwerpunkt liegt auf dem Spring-Ökosystem. In diesem Bereich ist er in Projekten, als Trainer und Autor unterwegs. Aktuell schreibt er an einem shortcut zum Thema JPA-2.1-Persistence-Features.
Peter Huber
Peter Huber
Peter Huber ist als Lead IT Consultant im Bereich Applied Technology Research bei der msg systems ag in München tätig. Seine Schwerpunkte liegen in der Architektur von Java-EE- und Spring-Anwendungen. Er arbeitet in diesem Bereich auch als Trainer. Seine Steckenpferde sind das Semantic Web und Data Science mit R.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.