REST und HATEOAS
Von Kai Tödter, Axel Morgner, Christian Morgner und
()
Über dieses E-Book
Ähnlich wie REST und HATEOAS
Titel in dieser Serie (100)
Erfolgreiche Spieleentwicklung: OpenCL Bewertung: 0 von 5 Sternen0 BewertungenHTML5 für Mobile Web Bewertung: 0 von 5 Sternen0 BewertungenEinstieg in Google Go Bewertung: 0 von 5 Sternen0 BewertungenAlgorithmen: Grundlagen und Implementierung Bewertung: 0 von 5 Sternen0 BewertungenIT Wissensmanagement: Theorie und Praxis Bewertung: 0 von 5 Sternen0 BewertungenErfolgreiche Spieleentwicklung: OpenGL, OpenAL und KI Bewertung: 0 von 5 Sternen0 BewertungenHTML5 Security Bewertung: 0 von 5 Sternen0 BewertungenNutzeraspekte in Suchmaschinen: Komponenten für eine gelungene Usability-Gestaltung Bewertung: 0 von 5 Sternen0 BewertungenVaadin mit Eclipse, Clojure und OSGi Bewertung: 0 von 5 Sternen0 BewertungenSkalierbare Softwaresysteme: Design, Betrieb und Optimierungspotenziale Bewertung: 0 von 5 Sternen0 BewertungenF#: Ein praktischer Einstieg Bewertung: 0 von 5 Sternen0 BewertungenAmazon Web Services für .NET Entwickler Bewertung: 0 von 5 Sternen0 BewertungenGeolocation mit PHP: Foursquare-API, Google Places & Qype Bewertung: 0 von 5 Sternen0 BewertungenNFC: Near Field Communication für Android-Entwickler Bewertung: 5 von 5 Sternen5/5Java EE Security Bewertung: 0 von 5 Sternen0 BewertungenJava 7: Fork-Join-Framework und Phaser Bewertung: 0 von 5 Sternen0 BewertungenServiceorientierte Architektur: Anforderungen, Konzeption und Praxiserfahrungen Bewertung: 0 von 5 Sternen0 BewertungenQualitätssicherung mit JavaScript und PHP Bewertung: 0 von 5 Sternen0 BewertungenJavaScript für Eclipse-Entwickler: Orion, RAP und GWT Bewertung: 0 von 5 Sternen0 BewertungenUser Experience Testing 3.0: Status Quo, Entwicklung und Trends Bewertung: 0 von 5 Sternen0 BewertungenApache Tapestry: Einstieg in die komponentenorientierte Webentwicklung Bewertung: 0 von 5 Sternen0 BewertungenUX Design für Tablet-Websites: Ein Überblick Bewertung: 0 von 5 Sternen0 BewertungenÜberzeugende Präsentationen: Konzeption, Technik und Design Bewertung: 0 von 5 Sternen0 BewertungenOAuth 2.0: Client & Server Bewertung: 0 von 5 Sternen0 BewertungenJava FX - Embedded Bewertung: 0 von 5 Sternen0 BewertungenSharePoint-Entwicklung für Einsteiger Bewertung: 0 von 5 Sternen0 BewertungenJavaScript auf dem Server Bewertung: 0 von 5 Sternen0 BewertungenBig Data: Technologiegrundlagen Bewertung: 0 von 5 Sternen0 BewertungenSpring: Vier Perspektiven auf Framework und Ökosystem Bewertung: 0 von 5 Sternen0 BewertungenQualität in IT-Architekturen: Strategie und Planung Bewertung: 0 von 5 Sternen0 Bewertungen
Ähnliche E-Books
HTML & CSS Schnellkurs: Am praktischen Beispiel HTML und CSS lernen! Bewertung: 0 von 5 Sternen0 BewertungenBootstrap kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenElasticsearch: Ein praktischer Einstieg Bewertung: 0 von 5 Sternen0 BewertungenCSS – kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenWebseiten-Layout mit CSS: Der perfekte Einstieg in Cascading Style Sheets Bewertung: 0 von 5 Sternen0 BewertungenSharePoint Kompendium - Bd. 15 Bewertung: 0 von 5 Sternen0 BewertungenClojure: Funktionale Programmierung für die JVM Bewertung: 0 von 5 Sternen0 BewertungenLaravel – Die umfassende Einführung: Das Framework für moderne PHP-Entwicklung Bewertung: 0 von 5 Sternen0 BewertungenDynamische Webseiten: Einstieg in HTML, PHP und MySQL Bewertung: 0 von 5 Sternen0 BewertungenREST: Grundlagen und Gestaltung von REST-Diensten Bewertung: 0 von 5 Sternen0 BewertungenPowerShell 7 und Windows PowerShell: Das komplette Praxiswissen für Administratoren und IT-Profis. Für Windows, Linux, macOS & Cloud Bewertung: 0 von 5 Sternen0 BewertungenVue.js kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenMQL: Eine hierarchische Abfragesprache mit TypeScript erstellen Bewertung: 0 von 5 Sternen0 BewertungenC++-Standardbibliothek - kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenC# 6.0 – kurz & gut Bewertung: 5 von 5 Sternen5/5C++ – kurz & gut: Aktuell zu C++17 Bewertung: 4 von 5 Sternen4/5HTML5 kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenPHP for Office: Automatisierte Dokumentenerstellung mit PHPExcel, PHPWord und PHPPowerPoint Bewertung: 1 von 5 Sternen1/5BigData mit JavaScript visualisieren: D3.js für die Darstellung großer Datenmengen einsetzen Bewertung: 0 von 5 Sternen0 BewertungenLearnXML5: XML leicht verständlich erklärt Stand 2017 Bewertung: 0 von 5 Sternen0 BewertungenSEO / SEM: Suchmaschinenoptimierung - Google / Yahoo / MSN Bewertung: 0 von 5 Sternen0 BewertungenDurchstarten mit React: Web-Apps einfach und modular entwickeln Bewertung: 0 von 5 Sternen0 BewertungenLearnXML4: XML leicht verständlich erklärt Bewertung: 0 von 5 Sternen0 BewertungenKochen mit Patrick: Kochen und Programmieren - Hand in Hand Bewertung: 0 von 5 Sternen0 BewertungenAngular: Das Praxisbuch zu Grundlagen und Best Practices Bewertung: 0 von 5 Sternen0 BewertungenLogging: Applikationsbeispiele Bewertung: 0 von 5 Sternen0 BewertungenJoomla!-Templates. Professionelle Vorlagen mit CSS Bewertung: 0 von 5 Sternen0 BewertungenRSS - Das kleine orange Buch über das kleine orange Icon Bewertung: 0 von 5 Sternen0 BewertungenC# 8.0 – kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenSQL – kurz & gut Bewertung: 0 von 5 Sternen0 Bewertungen
Internet & Web für Sie
Google Platz 1: Lernen Sie von einem der führenden Suchmaschinenoptimierer Deutschlands Bewertung: 0 von 5 Sternen0 BewertungenSEO mit Google Search Console: Webseiten mit kostenlosen Tools optimieren Bewertung: 0 von 5 Sternen0 BewertungenJoomla 4.0 logisch!: Einfache Webseitenerstellung ohne Programmierkenntnisse Bewertung: 0 von 5 Sternen0 BewertungenReact lernen und verstehen Bewertung: 0 von 5 Sternen0 BewertungenWas kommt. Was geht. Was bleibt.: Kluge Texte über die wichtigsten Fragen unserer Zeit Bewertung: 0 von 5 Sternen0 BewertungenEinführung ins Darknet: Darknet ABC Bewertung: 0 von 5 Sternen0 BewertungenSEO Crashkurs - 10 Schritte zum Erfolg auf Google Bewertung: 0 von 5 Sternen0 BewertungenPR im Social Web: Das Handbuch für Kommunikationsprofis Bewertung: 0 von 5 Sternen0 BewertungenUX Design - Definition und Grundlagen: Definition und Grundlagen Bewertung: 4 von 5 Sternen4/5SECURITY AWARENESS: Leitfaden zur IT-Sicherheit für Anwender Bewertung: 0 von 5 Sternen0 BewertungenSchnelleinstieg WordPress SEO: Einstellungen, Keywords, Plug-ins und Strategien für optimales SEO Bewertung: 0 von 5 Sternen0 BewertungenUX-Missverständnisse: Was sich User wirklich wünschen Bewertung: 0 von 5 Sternen0 BewertungenSo findest du den Einstieg in WordPress: Die technischen Grundlagen zu Installation, Konfiguration, Optimierung, Sicherheit, SEO Bewertung: 0 von 5 Sternen0 BewertungenDas kleine Hypnose Einmaleins - Alles was Sie schon immer über die Hypnose wissen wollten von Ewald Pipper vom Hypnoseinstitut Bewertung: 0 von 5 Sternen0 BewertungenPHP für WordPress: Themes und Templates selbst entwickeln Bewertung: 0 von 5 Sternen0 BewertungenDas Prezi-Buch für spannende Präsentationen Bewertung: 0 von 5 Sternen0 BewertungenPHP 7 und MySQL: Ihr praktischer Einstieg in die Programmierung dynamischer Websites Bewertung: 0 von 5 Sternen0 BewertungenDer Content Faktor: Schreiben Sie Texte, die gefunden und gelesen werden Bewertung: 0 von 5 Sternen0 BewertungenProgrammieren lernen mit Python 3: Schnelleinstieg für Beginner Bewertung: 0 von 5 Sternen0 BewertungenDas Facebook-Marketing-Buch Bewertung: 4 von 5 Sternen4/5MQTT im IoT: Einstieg in die M2M-Kommunikation Bewertung: 0 von 5 Sternen0 BewertungenShopware 6 Handbuch Bewertung: 0 von 5 Sternen0 BewertungenMarketing für Selbständige: Schwerpunkt Social Media Bewertung: 0 von 5 Sternen0 BewertungenAndroid Security: Von Fake-Apps, Trojanern und Spy Phones Bewertung: 0 von 5 Sternen0 BewertungenChatGPT Plus: Durchstarten in eine neue Welt: Entdecken Sie Künstliche Intelligenz mit ChatGPT Plus und GPT-4 Bewertung: 0 von 5 Sternen0 BewertungenDas Buch zu Google Ads: Strategien für kleine und mittlere Unternehmen Bewertung: 0 von 5 Sternen0 BewertungenJavaScript kinderleicht!: Einfach programmieren lernen mit der Sprache des Web Bewertung: 0 von 5 Sternen0 BewertungenUX Design für Tablet-Websites: Ein Überblick Bewertung: 0 von 5 Sternen0 Bewertungen30 Minuten Metaverse Bewertung: 0 von 5 Sternen0 Bewertungen
Rezensionen für REST und HATEOAS
0 Bewertungen0 Rezensionen
Buchvorschau
REST und HATEOAS - Kai Tödter
GmbH
1 HATEOAS - ein Überblick
RESTful Web Services sind schon seit einiger Zeit in aller Munde und sehr beliebt. Viele der bekannten öffentlichen Web-APIs behaupten von sich, RESTful zu sein. Die meisten sind es allerdings nicht wirklich, unter anderem, da sie ein wichtiges Element von REST nicht erfüllen: Hypermedia as the engine of application state (HATEOAS). Dieses Kapitel gibt einen Überblick über das Thema und zeigt an vielen konkreten Beispielen, warum RESTful Hypermedia APIs sinnvoll und sehr nützlich sind.
Ich beschäftige mich schon seit einiger Zeit ausgiebig mit RESTful Web Services und habe einige Erfahrung mit Client- und Serverentwicklung gesammelt. Dabei bin ich immer wieder auf Diskussionen gestoßen, die sich mit dem Thema beschäftigen, was die Best Practices in diesem Bereich sind. Viele der vermeintlichen REST-APIs, die man im Internet findet, sind eigentlich gar nicht RESTful (im Sinne von Roy Fieldings Dissertation). Wenngleich immer mehr APIs einige der Architekturprinzipien erfüllen, gibt es einen Bereich, der noch sehr wenig Verbreitung in heutigen APIs hat: Hypermedia as the engine of application state, auch oft abgekürzt mit dem unaussprechlichen Akronym HATEOAS. Einige Leute sprechen es übrigens wie „hate-ee-os (so ähnlich wie „hideous
) oder wie „hate O-A-S" aus.
Aus Platzgründen möchte ich auf die von REST geforderten Architekturprinzipien nicht im Detail eingehen. Eine gute Erläuterung dieser Prinzipien finden Sie unter [1] und [2]. Dieses Kapitel widmet sich hauptsächlich dem Punkt HATEOAS. Dabei liefern die Repräsentationen einer Ressource nicht nur eigene Attribute sondern auch mögliche Zustandsänderungen (z. B. in Form von Links) und andere Informationen, mit dem Ziel, die APIs robuster und selbstbeschreibender zu machen.
Motivation
Stellen Sie sich kurz vor, Sie öffnen Ihre Lieblingswebseite im Browser. Sie sehen dort sofort, ob es einen für Sie interessanten Link gibt. Wenn Sie auf den Link klicken, öffnet Ihr Browser eine weitere Webseite, die den für Sie interessanten Inhalt liefert. Wichtig hierbei ist, dass es für Sie in erster Linie uninteressant ist, wo genau der Link hingeführt hat (also der URI des Links). Wenn morgen der Inhalt auf einen anderen Server oder andere Domain umziehen würde, würden Sie das erstmal gar nicht merken, da Ihre Lieblingswebseite den URI des Links aktualisiert hätte, dieser aber für Sie als Benutzer hinter einem markierten Text versteckt ist. Das genau ist eine der Ideen von RESTful Hypermedia APIs: Die Repräsentationen von REST-Ressourcen liefern also noch weiterführende Informationen mit, z. B. wo es weitergeht und was man noch Sinnvolles tun kann.
Media-Type und Repräsentationen
Es gibt keinen Standard für die Repräsentation von Hypermedia, allerdings gibt es eine ganze Reihe von Vorschlägen und Spezifikationen, auf die ich hier etwas ausführlicher eingehen möchte. Aus Platzgründen beschränke ich mich auf folgende drei:
HAL (Hypertext Application Language)
Siren
Collection+JSON
HAL
Science-Fiction-Fans denken oft