CRM 2016提供odata端点,例如:
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查询选项?
答案 0 :(得分: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。