在向Powerapps 模型驱动/动态客户端 API发出请求时,如果您在任何查询字符串中出现错误,则会返回一个空白错误对象。即使响应正文包含错误对象,它也不会被解析。
按照上面链接的文档中的示例retrieveMultipleRecords
,我有一个实体,其中包含一个名为 的用户的查找字段new_OfferedBy
。为了将其过滤到特定用户,您需要过滤/systemuserid
. 如果您将任何属性的名称弄错(区分大小写),则会收到 400 响应。下面的示例将返回 400 响应。
// this query looks for the systemuser property when it should look for systemuserid
// this.currentUser returns the guid of the current user
var query = "?$filter=new_OfferedBy/systemuser eq (" + this.currentUser() +")";
Xrm.WebApi
.retrieveMultipleRecords("new_lastaskswap", query)
.then(
function success(result) {
console.log("Result Success:");
console.log(result);
// perform additional operations on retrieved records
},
function (error) {
console.log("Error from .then():");
console.log(error);
// handle error conditions
}
)
它将以下信息输出到控制台,这根本没有用。
{errorCode: 2147951872, message: "", code: 2147951872, innerror: undefined}
但是,如果您在 Chrome devtools 中查看请求的实际响应,您会发现响应正文中填充了 JSON,以一种有用的方式描述错误:
为什么在返回 400 时 API 没有解析响应正文,这不是预期的行为吗?