3 Stimmen

Hat jemand ein Beispiel für einen "gut definierten" REST-Webdienst?

Ich habe tonnenweise Beiträge, Fragen und Antworten zur Debatte zwischen REST und SOAP gelesen. Ich habe ein paar REST-Befürworter gelesen, die behaupten, dass "gut konzipierte" REST-Webdienste selbsterklärend sind und kaum eine Dokumentation benötigen.

Kann mir jemand einen Hinweis auf einen solchen Webdienst geben? Vorzugsweise einen etwas komplizierten.

1voto

jheddings Punkte 25451

Hier ein Beispiel einer komplexen API für eine Netzwerk-Videokamera... Ich empfehle einen Blick auf die VAPIX HTTP 3.0 API. Sie ist ziemlich einfach zu verstehen, vorausgesetzt, Sie sind mit den Begriffen vertraut. Zugegeben, es sind etwa 60 Seiten, aber das meiste davon ist nur Standardwerk, um den Leser mit der Verwendung einer Netzwerk-API vertraut zu machen.

El Yahoo! Wetter Feeds sind ein Beispiel für eine einfache, RESTful-Methode zum Abrufen von Informationen aus einem Dienst.

Es gibt auch Beispiele für REST-APIs, die im Wesentlichen XML-strukturierte Daten hin- und herschicken. Diese sind zwar technisch gesehen REST, aber wenn Sie sich die Mühe machen, eine API mit XML zu definieren, würde ich die Verwendung von Webdienste .

1voto

Tim Punkte 6681

Ich fand Netflix's Die Dokumentation ist sehr gut und hilft Ihnen zu verstehen, was bei der Entwicklung einer API zu beachten ist. Die API ist nicht perfekt, aber ich denke, sie ist eine gute Kombination aus praktisch und durchdacht.

Die Idee einer selbstdokumentierenden REST-API ist, dass man einen einzigen Einstiegspunkt in ein System erhält und in der Lage ist, alle verfügbaren Funktionen über die zurückgegebenen Dokumente zu entdecken, kombiniert mit dem Verständnis der Standardverwendung der REST-Verben (GET, PUT, DELETE). Wenn Sie also eine Liste von Mitarbeitern aus einem RESTful-System abrufen, verweisen die einzelnen Einträge auf die URL des jeweiligen Eintrags, und das Feld "Arbeitgeber" verweist auf die URL für den Arbeitgeber. Führen Sie eine Suche durch nach HATEOAS für weitere Einzelheiten. Aber Sie könnten "/employee" auf einen Dienst aufrufen und erhalten:

<employees>
  <employee id=132 name=bob url="/employee/132" employer="/employer/176"/>
  <employee id=179 name=carl url="/employee/132" employer="/employer/122"/>
</employees>

Sie könnten den vollständigen Datensatz des Arbeitnehmers unter /employee/132 und den Datensatz des Arbeitgebers unter /employer/176 einsehen. Wenn Sie die entsprechende Berechtigung haben, können Sie per PUT auf /employee/132 den Bob des Mitarbeiters aktualisieren oder mit POST auf /employee einen neuen Mitarbeiter anlegen. Die akzeptierten Inhaltstypen sind auch über die Schnittstelle abfragbar (mit HEAD, glaube ich).

0voto

Gandalf Punkte 9365

Sehen Sie sich Amazon S3 an.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X