2016-06-09 51 views
0

我對Odata集合有一個讀取操作,在這個集合中我傳遞了密鑰。如果鍵是一個字符串,一切正常,但現在我們從作爲關鍵數據類型的字符串切換爲GUID作爲數據類型,並且讀取調用不再工作。我總是收到BAD請求400.在SAPUI5中傳遞一個GUID到SAP Odata服務

這裏使用String參數的解決方案,它的工作原理。

var oModel = this.getView().getModel(); 
var someKey = "Key 1"; 
    oModel.read("/SomeSet('" + someKey + "')", { 
    urlParameters: {"$expand":"SomeItemToExpand"}, 
    success: function (oData, oResponse) { 
     sap.m.MessageToast.show("Read successfulf");    
    }, 
    error: function (onError) { 
     sap.m.MessageBox.error("Error reading"); 
    } 
}); 

如何通過指導?我試過了:

oModel.read("/SomeSet(guid'" + someKey + "')" 

但是不行。

+0

另一個評論,我目前正在與MockServer合作,不知道這是否重要。 –

回答

0

我終於想出最好的辦法傳遞一個GUID是:

oModel.read("/SomeSet(SomeKey=guid\'" + someKey + "\')", { 

SomeKey =是按鍵的名稱,這部分是可選的。

+0

您應該嘗試使用createKey。如果這個鍵的類型改變了,你的應用邏輯仍然有效,例如:'oModel.read(oModel.createKey(「SomeSet」,{SomeKey:someKey}))' – jpenninkhof

+0

謝謝你好! –