/ / guter Anwendungsfall von HATEOAS - Webservices, Ruhe, Hateoas, Vorabend

guter Anwendungsfall von HATEOAS - Web-Services, Ruhe, Hass, Vorabend

kann ich ein typisches Anwendungsbeispiel für HATEOAS? Ich stimme zu, dass es ein sehr leistungsfähiges Konzept sein kann, das große Flexibilität bietet, aber ich bin nicht sicher, wie man HATEOAS richtig nutzen kann. wäre großartig, wenn Sie Ihre Erfahrungen / Anwendungsfälle mitteilen können.

Antworten:

7 für die Antwort № 1

Eine gute Antwort von @dreamer oben, aber HATEOAS ist esIn den meisten REST-basierten Diensten nicht vorhanden. Dies ist eine Einschränkung für den REST-Architekturstil, die es Clients ermöglicht, vollständig über die in den Ressourcen enthaltenen Hypermedia mit einem Dienst zu interagieren.

Wenn Sie sich die Twitter- oder Facebook-REST-APIs ansehen, werden Sie keine Hypermedien finden. Schauen Sie sich die Facebook-Website an Freundesliste Ressource. Es gibt keine Hypertext-Links in dieser Ressource, die Sie verwenden können, um den Status der Ressource zu ändern - zu löschen, zu aktualisieren usw. Sie müssen stattdessen die Out-of-Band-Dokumentation lesen, um zu verstehen, was Sie zum Löschen tun müssen Ressource.

Einer der beanspruchten Vorteile der Verwendung von HypermedienIn Ihren APIs können Sie Änderungen innerhalb der Ressourcen selbst verwalten. Was wäre zum Beispiel, wenn Facebook der Frendlist zusätzliche Funktionen hinzufügen wollte? Wenn sie unter Berücksichtigung von HATEOAS erstellt wurde, würde die Ressource aktualisiert, um die Hyperlinks hinzuzufügen, die diese zusätzlichen Zustandsübergänge bereitstellen.

Wenn dies schwierig klingt, haben Sie recht. Als Entwickler von Clientanwendungen können Sie jedoch, sobald Sie verstanden haben, wie Hypermedia dargestellt wird, Anwendungen erstellen, die sich zusammen mit der API selbst entwickeln.

Wie baut man APIs mit HATEOAS? Es gibt eine Reihe von Optionen, aber ich mag die Hypertext Application Language (HAL) das beste.

AKTUALISIEREN: Da Sie nach einem Beispiel gefragt haben, ist hier ein Link zu einem Demo mit HAL.


6 für die Antwort № 2

Gute öffentliche HATEOAS-Anwendungsfälle sind schwer zu finden,denn es gibt viele falsche Vorstellungen über REST und HATEOAS kann schwer umzusetzen sein. Sie müssen wirklich ein gutes Verständnis für die Vorteile haben, bevor Sie bereit sind, sich die Mühe zu machen, es zum Laufen zu bringen, und wenn die Kunden es nicht richtig befolgen, ist jede Arbeit umsonst.

Aus meiner Erfahrung die Implementierung von richtigen REST in einUnternehmen ist ein Kulturwandel, der ebenso wichtig ist wie Versionskontrollsysteme oder agile Entwicklung. Wenn nicht jeder es akzeptiert und versteht, verursacht dies mehr Probleme als es löst.

Ich denke, das beste Beispiel, das man finden wird, ist die HAL-API von foxycart.com, unter dem folgenden Link:

https://api-sandbox.foxycart.com/hal-browser/hal_browser.html#/


0 für die Antwort № 3

Es ist ein sehr leistungsfähiges Konzept, das in verwendet wird RESTful Präsentation der Anwendung beim Kunden. Es gibt viele Projekte, die diese Schnittstelle jetzt übernehmen. Ein typischer Anwendungsfall hierfür ist Web Services APIs mit RESTful-APIs. Eine RESTful-API besteht normalerweise aus den folgenden Elementen:

  • Basis-URI, wie z http://example.com/resources/
  • ein Internet-Medientyp für die Daten. Dies ist häufig JSON, kann jedoch auch ein beliebiger anderer Internet-Medientyp sein (z. B. XML, Atom, Mikroformate, Bilder usw.)
  • Standard-HTTP-Methoden (z. B. GET, PUT, POST oder DELETE)
  • Hypertext-Links zum Referenzstatus
  • Hypertext-Links zu Referenzressourcen

Der Anwendungsstatus kann mithilfe von oben geändert werden HTTP methods Um beispielsweise eine bestimmte Ressource zu erhalten, kann ein Client eine ausgeben REST query verwenden curl mögen:

curl -X GET --url "http://example.com/resource/" -X "Content-Type:application/json"

du könntest durchgehen man pages zum curl und seine Verwendung. Weitere Informationen zu RESTful-Schnittstellenkonzepten finden Sie unter Wiki