2014-03-06 2 views
1

나는 그들이 http://www.saferproducts.gov/Search/default.aspxSaferproducts.gov에서 키워드로 검색 API?

에서 자신의 사이트에 검색 기능을 제공 같은 safeproducts API를 (http://www.saferproducts.gov/webapi/Cpsc.Cpsrms.Web.Api.svc)에서 키워드에 기초하여 보고서를 검색하려고하지만 그것을 검색 할 수있는 방법을 찾을 수 없습니다. API는 OData 형식으로되어있어서 전에 사용하지 못했던 것 같습니다. 따라서 OData 기반 서비스를 쿼리하는 방법에 대한 지식이 부족하거나 웹 서비스에서 검색 방법을 제공하지 않을 수도 있습니다.

필자의 이해가 정확하다는 것을 확인할 수 있습니까?

덕분에, 칸

답변

0

당신은 하나로, OData 프로토콜에 정의 된 Contains 기능과 결합 $filter 쿼리 옵션을 사용할 수 있습니다.

http://host/service/Customers?$filter=contains(CompanyName,'Alfreds') 

(중 하나로, OData 문서에서 예 : 'Alfreds'을 포함하는 회사 이름을 가진 모든 고객)

우려 더 자세한 사항은 OData documentation.

2

예, $filter을 사용하여 검색 할 수 있습니다. 서비스가 하나로, OData V3를 기반으로하는 경우 그러나 열린 우리당이 있어야한다 :

http://services.odata.org/Northwind/Northwind.svc/Customers?$filter=substringof('Alfreds', CompanyName) 

당신은 OData V3 URL Conventions

를 참조 할 수있는 서비스가 하나로, OData V4를 기반으로하는 경우, 열린 우리당은 다음과 같아야합니다

http://host/service/Customers?$filter=contains(CompanyName,'Alfreds') 

당신은 그런데 OData V4 URL Conventions

를 참조 할 수 있습니다, 당신은에 액세스 할 수 있습니다 http://www.saferproducts.gov/webapi/Cpsc.Cpsrms.Web.Api.svc/$metadata,536,을 눌러 서비스 버전을 확인하십시오. 페이지 상단에 "m:DataServiceVersion="3.0" m:MaxDataServiceVersion="3.0""이 있으면 서비스는 OData V3을 기반으로해야합니다. 그러한 행이 없으면 서비스는 OData V4를 기반으로해야합니다.