1
这是从类“异常行为” - 采取以下查询(你可以将其粘贴在图形浏览器):处理在Microsoft Graph中不存在的属性的
https://graph.microsoft.com/v1.0/users?$filter=idc eq 'test'
这将返回状态代码400“属性'idc'不存在作为声明的属性或扩展属性。“这是一个明智而可理解的回应。现在
,如果尝试$选择此属性:
https://graph.microsoft.com/v1.0/users?$select=idc
我得到一个结果,我完全没有想到:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users(idc)",
"@odata.nextLink": "https://graph.microsoft.com/v1.0/users?$select=idc&$skiptoken=cut",
"value": [
{},
{},
...
{}
]
}
(一个空的对象列表;要求单一具有该无效属性名称的用户返回我一个emtpy响应)。
所以我的问题是 - 为什么$过滤错误和$选择不?有没有办法强制$ select也出错? (例如,我使用的是/测试端点和属性名称的变化 - 我希望我的代码失败,找出)
我的偏向#1 - 这样可以节省我的时间搞清楚我做错了什么的时候,我本来期望不返回某些属性。但是,如果决定进入第二个层面:至少以某种方式唤起行为差异,没有人会惊讶。 –
我也会说#1,即使这两种情况都符合你描述的方式,我认为类似的行为(在非现有属性上抛出错误)消除了所有的混淆,甚至可能使一些人免于错别字:) –