Was ist der Vorteil der Verwendung von OData mit Web-API?

8

Ich verwende bereits die Standard-WebAPI und gebe JSON-Objekte an meinen Client zurück. Jetzt habe ich eine Anwendung gesehen, die OData zurückgegeben hat.

Kann jemand erklären, wenn es einen Grund gibt, OData zu verwenden, wenn ich meine Daten nicht von einem anderen als meinem eigenen Client abfragen möchte, der im Browser läuft? Gibt es Vorteile, die ich mit OData erreichen kann?

    
Melina 03.04.2014, 05:08
quelle

3 Antworten

6

Wenn Sie Ihre Daten nur in Ihrer eigenen Browser-Anwendung verwenden, bietet OData nur wenige Vorteile in Ihrer Situation:

  1. OData kann Metadaten zu Ihrer Serviceschnittstelle bereitstellen, die zum Generieren von Clientcode für den Zugriff auf den Service verwendet werden können. Wenn Sie also viele Clientklassen erstellen müssen, könnte dies Ihren Prozess beschleunigen. Wenn Sie andererseits Ihre Klassen zwischen dem Server und einem ASP.NET-basierten Client freigeben können oder wenn Sie nur wenige Klassen haben, ist dies in Ihrer Situation möglicherweise nicht relevant.
  2. Ein weiterer - größerer - Vorteil in Ihrer Situation ist die Unterstützung generischer Abfragen gegen die Servicedaten. OData unterstützt IQueryable , so dass Sie auf der Clientseite entscheiden können, wie die vom Service bereitgestellten Daten gefiltert werden sollen. Sie müssen also keine verschiedenen Aktionen implementieren oder Abfrageparameter verwenden, um gefilterte Daten bereitzustellen. Dies bedeutet auch, dass Sie, wenn Sie einen neuen Filter für Ihren Client benötigen, sehr wahrscheinlich den Server nicht ändern müssen und die Abfrage nur auf der Clientseite durchführen können. Zu den möglichen Filtern gehören $ Filter-Ausdrücke zum Filtern der Daten, aber auch Operationen wie $ skip und $ top, die beim Paging von Daten nützlich sind. Details zu OData und Abfragen finden Sie unter Link .

Eine vollständige Übersicht über OData und Web API finden Sie in diesem Link .

    
Markus 03.04.2014, 05:39
quelle
1

Hier sind einige Vorteile von OData.

  1. OData ist ein offenes Protokoll, das von Microsoft gestartet wurde und auf Rest Services basiert, so dass wir eine Datenbank über die URL erhalten können.
  2. Es unterstützt verschiedene Protokolle wie http, atom, pub und unterstützt auch das JSON-Format.
  3. Es müssen keine Proxy-Klassen erstellt werden, die wir für den Web-Service verwendet haben.
  4. Sie können Ihre eigenen benutzerdefinierten Methoden schreiben.
  5. Es ist sehr leicht, so dass die Interaktion zwischen Client und Server im Vergleich zu Web-Service und anderen Technologien schnell ist.
  6. Sehr einfach zu benutzen.

Hier sind einige Referenzlinks.

Ссылка

Ссылка

Ссылка

    
Jalpesh Vadgama 03.04.2014 05:38
quelle
1

Ich stimme den bereits geposteten Antworten zu, aber als zusätzliche Erkenntnis ...

Sie haben das erwähnt:

  

... wenn ich meine Daten nicht von etwas anderem als meinem eigenen abfragen möchte   Client läuft im Browser ...

Sie möchten normalerweise nur über Ihren eigenen cilent ausführen, aber mit oData können Sie andere Abfrage-Tools zum Debuggen verwenden. Zum Beispiel können Sie mit LinqPad oData-Endpunkte (wie die von stackoverflow bereitgestellten) verwenden.

Es ist wahrscheinlich kein guter Grund, oData zu implementieren, wenn Sie keinen anderen Grund dafür haben, aber es ist ein zusätzlicher Bonus.

    
Alex KeySmith 03.04.2014 07:15
quelle

Tags und Links