我已经在使用标准WebAPI并将JSON对象返回给我的客户端。现在我看到一个返回OData的应用程序。
如果我不想从浏览器中运行的客户端以外的任何其他方式查询我的数据,有人可以解释我是否有任何理由使用OData。使用OData可以获得哪些优势?
答案 0 :(得分:8)
如果您只在自己的浏览器应用程序中使用数据,那么在您的情况下使用OData的好处很少:
IQueryable
,以便您可以在客户端决定如何过滤服务提供的数据。因此,您不必实现各种操作或使用查询参数来提供过滤数据。这也意味着如果您需要为客户端使用新的过滤器,则很可能您不必更改服务器,只需在客户端提出查询即可。可能的过滤器包括用于过滤数据的$ filter表达式,以及在分页数据时有用的$ skip和$ top等操作。有关OData和查询的详细信息,请参阅此link。有关OData和Web API的完整概述,请参阅此link。
答案 1 :(得分:1)
OData的一些优点。
以下是一些参考链接。
http://sandippatilprogrammer.wordpress.com/2013/12/03/what-is-odata-advantages-and-disadvantages/
http://geekswithblogs.net/venknar/archive/2010/07/08/introduction-odata.aspx
http://www.zdnet.com/blog/microsoft/why-microsofts-open-data-protocol-matters/12700
答案 2 :(得分:0)
我同意已发布的答案,但作为额外见解......
你提到过:
...如果我不想从我自己以外的任何地方查询我的数据 客户端在浏览器中运行...
您可能不希望通过除自己的cilent之外的任何东西正常运行,但使用oData可以使用其他查询工具进行调试。例如LinqPad允许您使用oData端点(例如stackoverflow提供的端点)。
如果您没有其他理由这样做,那么实施oData可能不是一个足够好的理由,但这是一个额外的好处。