Jeder macht heutzutage SOA , auch wenn einige nicht verstehen, worum es geht. Also machen sie es falsch. Wenn ich das als Analogie verwende, weiß ich, was REST ist (oder zumindest glaube ich, dass ich es tue) und möchte etwas davon tun. Aber ich möchte es richtig machen.
Meine Frage ist also, wie REST richtig funktioniert.
rest
soa
resources
implementations
JohnDoDo
quelle
quelle
Antworten:
Nun, es gibt viele Möglichkeiten zu lernen, wie man eine RESTful-Webanwendung erstellt, und nein, es gibt keinen eindeutigen richtigen Weg. RESTful ist kein Standard, sondern verwendet eine Reihe von Standards (HTTP, URI, Mime Type, ...).
Beginnen Sie damit: Wie ich REST meiner Frau erklärt habe
Fahren Sie dann wie folgt fort : RESTful Web Services Cookbook
Und dann gib deine ganze Anstrengung auf die Entwicklung von Webanwendungen, denn der beste Weg zu lernen sind Experimente, und du kannst so viel aus deinen Fehlern lernen;)
Machen Sie sich keine Sorgen, wenn Ihre ersten Web-Apps nicht vollständig RUHIG sind: Sie werden den Weg dazu finden!
Zitat von Obi-Wan Kenobi: "Möge die Macht mit dir sein!" ;)
BEARBEITEN
Ok, lassen Sie mich genauer sein. Du willst eine RESTful Webapp machen, was? Nun, wie gesagt, es gibt viele Möglichkeiten, dies zu tun, aber dies ist die Hauptrichtlinie.
Definition
REST (Representational State Transfer) ist ein Softwarearchitekturstil für verteilte Systeme (wie WWW). Es handelt sich nicht um einen Standard, sondern um eine Reihe von Standards: HTTP, AJAX, HTML, URI, Mime-Typ usw. Es handelt sich um die Darstellung einer Ressource, nicht um eine Ressource selbst. Aus 'Wie ich meiner Frau REST erklärt habe':
Einschränkungen der Architektur
Einheitliche Schnittstelle
CRUD
Ok, wir haben gesehen, dass wir URIs verwenden können, um Ressourcen zu identifizieren, aber wir brauchen noch etwas anderes für die Aktionen (Hinzufügen, Ändern, Löschen usw.): Herzlich willkommen bei CRUD (Erstellen, Lesen, Aktualisieren und Löschen).
In Bezug auf PUT und DELETE können nun einige technische Probleme auftreten (Sie erhalten diese mit HTML-Formular): Entwickler umgehen dieses Problem häufig, indem sie POST für jede 'PUT'- und' DELETE'-Anforderung verwenden. Offiziell müssen Sie PUT und DELETE verwenden. Übrigens, mach was du willst. Meine Erfahrung zwingt mich, jedes Mal POST und GET zu verwenden.
--- Der nächste Teil sollte verwendet werden, aber es handelt sich nicht um eine REST-Bindung: Es handelt sich um verknüpfte Daten ---
URI
Abstrakte URI aus technischen Details! Verabschieden Sie sich wie folgt von URI:
URI neu gestalten! Nehmen Sie den obigen Link und ändern Sie ihn wie folgt:
Das ist viel besser, oder? Dies könnte geschehen durch:
Eine andere Sache: Verwenden Sie unterschiedliche URIs, um unterschiedliche Ressourcen darzustellen:
Achtung : about.html und about.rdf sind keine Dateien! Sie könnten das Ergebnis einer XSLT-Transformation sein!
Inhaltsverhandlung
Wenn Sie diesen Punkt erreicht haben, herzlichen Glückwunsch! Wahrscheinlich sind Sie bereit, abstraktere Konzepte zu erhalten, da wir die technischen Details des Semantic Web eingeben.
Der Server antwortet jedoch nicht mit "about.rdf", da er einen anderen URI hat ( http://www.example.com/about.rdf ). Schauen wir uns also das 303-Muster an ! Server wird dies zurückgeben:
Der Client folgt dem zurückgegebenen Link wie folgt:
Schließlich gibt der Server die angeforderte Ressource zurück:
Keine Sorge: Ihre Client-Anwendung macht nichts davon! Das 303-Muster muss von der Serveranwendung erstellt werden, den Rest erledigt Ihr Browser.
Fazit
Oft ist die Theorie weit von der Praxis entfernt. Ja, jetzt wissen Sie, wie Sie eine RESTful-Anwendung entwerfen und entwickeln, aber die obige Richtlinie ist nur ein Hinweis. Sie werden Ihren besten Weg finden, um Webanwendungen zu erstellen, und wahrscheinlich wird es nicht so sein, wie es die Theorie will. Mach dir keine Sorgen: D!
Literaturverzeichnis
RESTful Web Services, Sameer Tyagi
REST-APIs müssen hypertextgesteuert sein, Roy Thomas Fielding
RESTful Web Services: Die Grundlagen, Alex Rodriguez
Webber REST Workflow
quelle
Kein Bibelbuch nötig; Ich hatte genau die gleichen Fragen und erfuhr alles, was ich über REST brauchte oder wissen wollte, indem ich diese drei Artikel las:
Wie Sie in den obigen Artikeln lesen werden, müssen Sie sich die zugänglichen Teile Ihrer Anwendung als "Ressourcen" vorstellen, die mithilfe der vorhandenen HTTP-"Verben" erstellt, abgerufen, aktualisiert oder gelöscht werden können: GET, PUT, POST , LÖSCHEN.
Kennen Sie auch den Unterschied zwischen PUT und POST und wann Sie sie verwenden müssen. GET, PUT und DELETE sollten idempotente Transaktionen sein, POST nicht.
Verwenden Sie außerdem die HTTP-Statuscodes ordnungsgemäß, wenn Sie mit dem Client kommunizieren.
quelle