0

我正在使用 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的是没有条目。

这里有什么问题 - 我在哪里丢失了我的数据?

4

1 回答 1

2

IT_KEY_TAB 将为您提供在 REST 服务中输入的密钥(例如,您用于 GET 或 DELETE 的实体的密钥)。

对于 POST 和 PUT 请求,您需要正在发送的对象,可以使用 io_data_provider->read_entry_data( ) 方法检索该对象。

于 2017-04-03T23:36:21.843 回答