Odata 在Saferproducts.gov API中按关键字搜索?

Odata 在Saferproducts.gov API中按关键字搜索?,odata,Odata,我正在尝试根据safeproducts api()中的关键字搜索报告,就像他们在网站上提供搜索功能一样 但是我找不到任何方法来搜索它。他们的API是OData格式的,我以前从未使用过,所以我猜这可能是因为我不知道如何查询基于OData的服务,或者他们的web服务中没有提供任何搜索方法 有人能证实我的理解是正确的吗 谢谢, Khan您可以将$filter查询选项与OData协议中定义的Contains函数结合使用 http://host/service/Customers?$filter=cont

我正在尝试根据safeproducts api()中的关键字搜索报告,就像他们在网站上提供搜索功能一样

但是我找不到任何方法来搜索它。他们的API是OData格式的,我以前从未使用过,所以我猜这可能是因为我不知道如何查询基于OData的服务,或者他们的web服务中没有提供任何搜索方法

有人能证实我的理解是正确的吗

谢谢,
Khan

您可以将
$filter
查询选项与OData协议中定义的
Contains
函数结合使用

http://host/service/Customers?$filter=contains(CompanyName,'Alfreds')
(来自OData文档的示例:公司名称包含“Alfreds”的所有客户)


有关更多详细信息,请关注。

是的,您可以使用
$filter
进行搜索。 但如果服务基于OData V3,则Uri应为:

http://services.odata.org/Northwind/Northwind.svc/Customers?$filter=substringof('Alfreds', CompanyName) 
http://host/service/Customers?$filter=contains(CompanyName,'Alfreds')
你可以参考

如果服务基于OData V4,则Uri应为:

http://services.odata.org/Northwind/Northwind.svc/Customers?$filter=substringof('Alfreds', CompanyName) 
http://host/service/Customers?$filter=contains(CompanyName,'Alfreds')
你可以参考

顺便说一下,您可以访问
http://www.saferproducts.gov/webapi/Cpsc.Cpsrms.Web.Api.svc/$metadata
以标识服务版本。如果页面顶部有“
m:DataServiceVersion=“3.0”m:MaxDataServiceVersion=“3.0”
”,则该服务应基于OData V3。如果没有这样的线路,那么服务应该基于ODataV4