Frage

wie jeder bemerkt hat, gibt es viele gefälschtes / rudimentär REST-APIs in der freien Natur (die einen HTTP-API implementieren und nennt es REST, ohne die Hypertext-as-the-Engine-of-application-Zustand Anforderung , was zu der berühmten rant von Roy T. Fielding , die zuerst das REST-Paradigma angegeben.) der Mann

Ich habe es nicht gelungen, alle praktischen Beispiele einer wirklich zusammen mit den zugehörigen anwendungsspezifischen Medien-Typdefinitionen für die Zustandsübergänge Hypertext angetrieben REST-Implementierung zu finden.

Gibt es öffentlich zugängliche Beispiele für solche Implementierungen?

War es hilfreich?

Lösung

Es ist nicht eine Implementierung im Sinne Code ausgeführt wird, aber ich mag den Artikel „ Wie eine Tasse Kaffee “auf InfoQ zu bekommen. Es beschreibt den Prozess der einen Kaffee bei Starbucks als RESTful-Protokoll zu bestellen. Dies geht über die typischen „alles ist eine Ressource“ Einführungsartikel Ruhe und konzentriert sich auf HATEOAS. Sehr zu empfehlen.

Andere Tipps

Wie über die Sun Cloud API ? Aus der Einleitung:

  

Die API setzt keine besondere Struktur in dem URI Raum. Der Ausgangspunkt ist eine URI, die von der Wolke Dienstanbieter bereitgestellt, der die Wolke selbst identifiziert. Die Wolke der Darstellung enthält URIs für die anderen Ressourcen in der Cloud, und auch für Operationen, die auf sie ausgeführt werden können (zum Beispiel des Einsatz und den Start virtuelle Maschinen).

Das Hinter auch hilfreich sein könnte.

Netflix hat einen REST API auf HATEOAS basiert, der folgendes beinhaltet Links als Teil der Ressourcen.

Ist das nicht die restfulness von Sun Cloud API angesprochen tatsächlich in Roys 4. Punkt:

  

A REST API sollte keine festen Ressourcennamen oder Hierarchien (eine offensichtliche Kopplung von Client und Server) definieren. Server müssen die Freiheit haben, ihren eigenen Namensraum zu steuern. Stattdessen lassen sich die Server-Clients auf anweisen, wie entsprechende URIs zu konstruieren, wie in HTML-Formularen und URI-Vorlagen erfolgt, indem diese Anweisungen innerhalb Medientypen und Link Beziehungen definieren. [Failure hier bedeuten, dass Kunden eine Ressourcenstruktur werden unter der Annahme, aufgrund Außerband-Informationen, wie beispielsweise einen domänenspezifischen Standard, der die datenorientierten entspricht RPCs funktionelle Kopplung ist].

Beispiel 1 Festressourcennamen in einem definierten heirachy:

Von der Sun Cloud API: „... die Darstellung eines VDC werden Darstellungen der Cluster enthalten, die sie bewohnen, die wiederum sind Darstellungen der VMs innerhalb jedes Clusters“

Beispiel 2 Out-of-Band-Informationen, wie zum Beispiel einer domänenspezifischen Standard:

Sie haben den Wiki-Seite Inhalt haben (Out-of-Band-Informationen) zu wissen, dass der „Ressource Kommunikationsmechanismus“ für den Cloud-Ressourcen-Feld „uri“ ist GET.

Ich erkennen dies vor einiger Zeit gefragt wurde, aber ich habe einen Stich an einen „richtigen“ REST API Fluss für ein einfaches Beispiel zu demonstrieren. Ich habe versucht, Roys Regeln für REST folgen - vielleicht könnte es helfen: API Beispiel mit REST

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top