向我的odata添加过滤器无效。
这是我的api:
http://appsworldapiclient.azurewebsites.net/breeze/ClientCursor/GetContactDetails?companyId=4
我必须应用过滤器 $ filter = startswith(FirstName,' A')eq true
如果我没有companyId = 4它的工作正常,但没有它我的api不会工作。 任何人都可以帮忙吗?
答案 0 :(得分:1)
实际上,我认为我真的不明白你在问什么。
从您的终点Uri开始,您似乎想要使用参数GetContactDetails
调用名为companyId=4
的操作(功能/操作)。
接下来,您提到必须放置$ filter子句。您似乎想要执行以下操作:
http://appsworldapiclient.azurewebsites.net/breeze/ClientCursor/GetContactDetails?companyId=4& $ filter = startswith(FirstName,'A')eq true
如果确实如此,上面的Uri模板不会跟进OData规范。
所以,我认为,
如果GetContactDetails是未绑定的操作,您可以这样做: 〜/ ClientCursor / GetContactDetails(companyId = 4)?& $ filter = startswith(FirstName,'A')eq true
如果GetContactDetails是一个实体集,而companyId是关键,你可以简单地这样做: 〜/ ClientCursor / GetContactDetails(4)?& $ filter = startswith(FirstName,'A')eq true
当然,如果您可以向我们展示更多代码或元数据,它可以帮助我们更清楚地理解。