Rest 转换属性上的OData搜索
我们通过ODataRESTAPI提供json对象。对象的大致结构如下所示 { “财产1”:“价值1”, “物业2”:{ “InterestingProperty”:“/text1/part1/text2/part2” } } “part1”和“part2”是我感兴趣的值,从后端开始,它们一起被索引 我需要设计一个列表API,它允许过滤在特定属性中同时包含part1和part2的对象。Rest 转换属性上的OData搜索,rest,odata,Rest,Odata,我们通过ODataRESTAPI提供json对象。对象的大致结构如下所示 { “财产1”:“价值1”, “物业2”:{ “InterestingProperty”:“/text1/part1/text2/part2” } } “part1”和“part2”是我感兴趣的值,从后端开始,它们一起被索引 我需要设计一个列表API,它允许过滤在特定属性中同时包含part1和part2的对象。 有关于如何进行此操作的指导吗?您可以在客户端使用解决此问题,并且内置的包含功能。比如说, GET http://
有关于如何进行此操作的指导吗?您可以在客户端使用解决此问题,并且内置的
包含功能。比如说,
GET http://host/MyObjects?$filter=contains(Property2/InterestingProperty,'part1') and contains(Property2/InterestingProperty,'part2')
然而,这种方法允许误报;e、 例如,如果InterestingProperty
的值类似于/text1/part1/text2/part234
也许更好的方法是定义一个服务器端来进行自定义筛选。这将允许您对匹配InterestingProperty
进行精细控制。在MyService
命名空间中名为CustomFilter
并绑定到MyObjects
实体集的函数将按如下方式调用:
GET http://host/MyObjects/MyService.CustomFilter
如果您使用的是OData的.NET实现,那么有一种方法可以帮助您开始编写OData函数