使用我暴露了一個ASP.NET Web API 2 OData服務的以下端點:
/entity1('key')/entity2('key')/entity3('key')/entity4('key')
當我執行/entity1('key')/entity2('key')/entity3?$expand=entity4
我收到與正確"@odata.context"
JSON響應:
"@odata.context": "https://host:port/$metadata#entity1('key')/entity2('ket')/entity3",
"value": [
{
...,
"[email protected]": "https://host:port/$metadata#entity1('key')/entity2('key')/entity3('key')/entity4",
"entity4": [
{
...
}
]
},
...
當我執行/entity1('key')/entity2('key')/entity3('key')?$expand=entity4
然而,我收到一個不正確"@odata.context"
用叔WO鍵:
"@odata.context": "https://host:port/$metadata#entity1('key')/entity2('ket')/entity3",
"value": [
{
...,
"[email protected]": "https://host:port/$metadata#entity1('key')/entity2('key')/entity3('key')('key')/entity4",
"entity4": [
{
...
}
]
}
這會導致微軟的OData客戶端運行時異常:
"The context URL 'https://host:port/$metadata#entity1('key')/entity2('key')/entity3('key')('key')/entity4' is invalid."
哦,不開玩笑。什麼可能導致這個?
更新
我登錄的問題here。我們將看到會發生什麼。