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?
Wenn Sie Ihre Daten nur in Ihrer eigenen Browser-Anwendung verwenden, bietet OData nur wenige Vorteile in Ihrer Situation:
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 .
Hier sind einige Vorteile von OData.
Hier sind einige Referenzlinks.
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.
Tags und Links asp.net-web-api asp.net