我正在使用 SAPUI5 测试 oData 功能。
到目前为止,我已经实现了 GET 和 DELETE,运行良好。
不,当我想添加新条目时,我遇到了一些问题。
我正在发送Create-Request
,如下所示:
var oEntry = {};
oEntry.EmailAdresse = sap.ui.getCore().getElementById("txtemail").getValue();
oEntry.Nachname = sap.ui.getCore().getElementById("txtlastname").getValue();
oModel.create("/Z_ETT_ODATASet", oEntry, function(oData, response){
alert("Success");
},
function(oError){
alert(oError);
});
这是我的请求:
Accept application/json
Accept-Encoding gzip, deflate
Accept-Language en
Content-Length 54
Content-Type application/json
Cookie ZZZZZZZZ
Host XXXXXXXXXXXXXXXXXXXX
MaxDataServiceVersion 2.0
Referer http://XXXXXXXXXXXXXXXXXXXX:8007/sap/bc/ui5_ui5/sap/zhelloworld/index.html?sap-client=100&sap-ui-language=EN&sap-ui-xx-devmode=true
User-Agent Mozilla/5.0 (Windows NT 6.3; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0
X-CSRF-Token AAAAAAAAAAAAAAAA==
dataserviceversion 2.0
sap-cancel-on-close true
sap-contextid-accept header
请求中还提到了我要发布的数据:
{"EmailAdresse":"testemail@test.de","Nachname":"Test"}
当我向 SAP GUI 添加外部断点时,我可以看到 Z_ETT_ODATASET_CREATE_ENTITY
被调用,但遗憾的是 IT_KEY_TAB
没有条目。
这里出了什么问题 - 我在哪里丢失了数据?
最佳答案
IT_KEY_TAB 将为您提供在 REST 服务中输入的 key (例如您用于 GET 或 DELETE 的实体的 key )。
对于 POST 和 PUT 请求,您需要正在发送的对象,可以使用 io_data_provider->read_entry_data( ) 方法检索该对象。
关于javascript - SAP UI OData Create 不初始化 IT_KEY_TAB 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43185172/