it-swarm.dev

Wie unterscheidet sich oData von einem REST Service)?

Ich möchte eine Webdienst-API schreiben und denke darüber nach, einen REST - Dienst zu erstellen. Was bedeutet OData in diesem Zusammenhang? Können Sie bitte den Unterschied zwischen OData und REST erklären?

15
gyurisc

REST ist eine Architektur zum Senden von Nachrichten von einem Client zum Server über HTTP. OData ist ein von Microsoft verfochtener Standard, der eine REST Architektur) verwendet, um bestimmte Typen von Nachrichten über HTTP zu senden. OData spricht darüber, wie die Nachrichten aussehen (der Inhalt). REST ist die Architektur, wie diese Nachrichten hin und her gesendet werden.

11
RationalGeek

Ich stimme sowohl @jkohlhepp als auch @Tom Squires zu, werde jedoch einige Details hinzufügen.

OData ist ein offener Standard (von Microsoft verfochten, aber über Microsoft hinaus übernommen und für viele Plattformen verfügbar, einschließlich iOS und Android).

OData-Nutzdaten basieren auf dem Format Atom (Lesen)) und AtomPub (Aktualisieren). (Abgesehen davon ist Atom auch die Grundlage für ein beliebtes RSS-Feed-Format) .) Atom ist erweiterbar, und OData hat dies genutzt, um bekannte Erweiterungen zu erstellen. Beispielsweise gibt es bei einem OData-Dienst RI-Konventionen mit vielen Funktionen B. Filtern (Filtern nach Datum oder Kundenname) und Sortieren usw. Die Verwendung dieser speziellen Konventionen auf standardmäßige (OData-definierte) Weise macht OData leistungsfähig, da sie ähnlich funktionieren und wir Tools erstellen können, um gegen sie und dergleichen vorzugehen .

Es gibt einige bekannte OData-Quellen, beispielsweise von Netflix (alle Filmdaten sind vorhanden - es kann Spaß machen, damit zu spielen!).

Lesen Sie alles über OData unter odata.org .

Viel Glück! -Rechnung

5
codingoutloud

REST ist ein architektonischer Stil zum Erstellen von Webdiensten. Es ist nur ein Modell, das besagt, dass Sie HTTP und seine Verben (POST/PUT/GET usw.) verwenden können, um CRUD für Ressourcen durchzuführen, die von Ihren Diensten verfügbar gemacht werden. REST] fehlen jedoch Details dazu, wie die URLs aussehen sollen, wie Anforderungs-/Antwortformate aussehen sollen, wie Informationen abgefragt werden sollen oder auf einer grundlegenden Ebene, welche Vorgänge und Ressourcen ein Dienst in der unterstützt erster Platz!

In der Welt der XML-basierten Webdienste verfügen wir über SOAP, WSDL, WS- *, die die Standards definieren, die die Interoperabilität zwischen verschiedenen Diensten und ihren Clients ermöglichen.

OData versucht dies für die REST-basierten Webdienste).

Es definiert $ Metadaten im CSDL-Format, um zu erklären, welche (Entitäts-/komplexen) Typen Ihr Service unterstützt und welche Eigenschaften sie haben, welche Datentypen sie haben, wie Ihre Typen zusammenhängen und ob Ihr Service auch einige spezielle Operationen unterstützt, die über die herkömmliche CRUD hinausgehen.

OData standardisiert die URL-Formate für Ihre Ressourcen, nämlich/Entity,/Entity ('id') oder/Entity (key1 = value1, key2 = value2) ... und so weiter.

OData standardisiert die Anforderungs-/Antwortformate in JSON und AtomXml hinsichtlich der Struktur der Daten und ihrer Metadaten.

OData gibt auch eine sehr umfangreiche Abfragesprache an, mit der Verbraucher Ihre Dienste nach genauen Informationen abfragen können, nach denen sie suchen - mithilfe von $ filter, $ orderby, $ skip, $ top, $ expand.

OData hilft Ihnen bei der Beschreibung Ihres gesamten Datenmodells - Entitäten und ihrer Beziehungen - und unterstützt alle Arten von Vorgängen wie CREATE, UPDATE, DELETE, GET, MERGE und sogar CUSTOM OPERATIONS für diese Entitäten und/oder Beziehungen.

OData v4 ist jetzt ein OASIS-Standard, der viele Verbesserungen gegenüber seinen früheren Versionen bietet. Das Ökosystem für OData wächst langsam.

4
Anil G

OData ist ein Standard, der mit REST implementiert wird.

2
Tom Squires