使用REST进行通用过滤/排序的最佳方法

时间:2013-04-26 14:22:15

标签: .net rest url odata

我们正在构建一个基于.NET的REST API,将来我们的单页JavaScript应用程序和潜在的其他消费者将使用它。该应用程序将有许多网格显示数据,并允许用户应用自定义筛选器和排序。等于,包含,大于,小于等的东西等等。

在URL方案中实现此方法是否有可接受的方法?特别是不同的运营商。我不认为我将过滤器视为一流资源,我可能希望使用查询参数来表示过滤/排序。

看起来OData提供了类似这样的解决方案,但总体而言,它似乎是一种重量级方法,我担心它的接受度。是否有更轻量级,更受欢迎的替代品?

1 个答案:

答案 0 :(得分:1)

因为您正在考虑对您的数据进行多项操作:过滤,排序等,我会说在您的终端上公开 IQueryable 并使用 OData

我会开始here

请注意在您的API上启用OData并不意味着您要完全打开数据,始终仅启用某些操作,等等。

检查here以更好地了解如何保护您的API暴露OData。

我没有尝试过任何其他选择,但我猜你总是可以结合你的路线和动作来获得你需要的功能:顶部,过滤,排序等。