Dynamics CRM2016 WebApi查询之alternate key

时间:2023-02-05 10:44:10

      本篇继续来分享web api查询中的一条,利用alternate key进行查询。

     alternate key是个什么东西这里就不解释了如果有不知道的可以去看sdk。这里以房号信息实体为例,新建一个键叫做房号Id,这个房号id在crm中对应的是new_roomid这个文本字段,会和第三方系统的某张表的主键关联。

Dynamics CRM2016 WebApi查询之alternate key

    键值建好后来看下代码,这里返回的json格式和通过实体guid查出来的返回json格式是一样的,而url上的区别就在于括号里面,通过guid查括号里就是guid,通过alternate key查括号里就是对应的是key=value。

    var req = new XMLHttpRequest()
    req.open("get", Xrm.Page.context.getClientUrl() + "/api/data/v8.0/new_roominfos(new_roomid='1234')",false);
    req.setRequestHeader("Accept", "application/json");
    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
    req.setRequestHeader("OData-MaxVersion", "4.0");
    req.setRequestHeader("OData-Version", "4.0");
    req.setRequestHeader("Prefer", "odata.include-annotations=OData.Community.Display.V1.FormattedValue");
    req.onreadystatechange = function () {
        if (this.readyState == 4) {
            if (this.status == 200) {
                successCallback(JSON.parse(this.responseText));
            }
            else {
                errorCallback(JSON.parse(this.responseText).error.message);
            }
        }
    };
    req.send();

    看完是不是觉得方便了很多,如果你有类似的场景那就用起来吧。