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,即使這兩種情況都符合你描述的方式,我認爲類似的行爲(在非現有屬性上拋出錯誤)消除了所有的混淆,甚至可能使一些人免於錯別字:) –