2017-05-10 3 views
-1

CRM 2016과 같은 하나로, OData 끝점을 제공합니다odata 엔드 포인트에 대해 odataqueryoptions를 적용하는 방법은 무엇입니까?

https://mycrmorg.com/api/data/v8.1/ 

그리고 그것은 당신이 같은 그것을 하나로, OData 필터를 적용 할 수 있습니다 : 나는 그런 컨트롤러가있는 경우

https://mycrmorg.com/api/data/v8.1/accounts(8308AD1C-1B1A-E711-941B-00155DC0D345)

예 :

class AccountsController 
{ 
    public IHttpActionResult Get(ODataQueryOptions options) 
    { 
    var endPoint = @"https://mycrmorg.com/api/data/v8.1/"; 
    //how do we apply the odata query options here?? 

    } 
} 

이 끝점에 대해 odata 쿼리 옵션을 적용하는 방법은 무엇입니까 ??

답변

3

ODataQueryOptions 개체의 ODATA 쿼리 옵션을 모두 가져오고 싶습니다. 당신은 RequestUri에서 그것을 얻을 수 있습니다

class AccountsController 
{ 
    public IHttpActionResult Get(ODataQueryOptions options) 
    { 
    var stringOptions = options.Request.RequestUri.PathAndQuery; 
    var endPoint = @"https://mycrmorg.com/api/data/v8.1"; 

    var endPointAndQuery = endPoint + stringOptions; 
    //call Odata 
    } 
} 

stringOptions이 같은 예를 들어 뭔가를 포함합니다 : "/accounts?$filter=accountnumber eq '1234'"를 단순히 엔드 포인트에 추가하고 다른 하나로, OData API를 호출 할 수있다.