本篇继续来分享web api查询中的一条,利用alternate key进行查询。
alternate key是个什么东西这里就不解释了如果有不知道的可以去看sdk。这里以房号信息实体为例,新建一个键叫做房号Id,这个房号id在crm中对应的是new_roomid这个文本字段,会和第三方系统的某张表的主键关联。
键值建好后来看下代码,这里返回的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();
看完是不是觉得方便了很多,如果你有类似的场景那就用起来吧。