SAPUI5 oData PUT 操作需要 GET ENTITY 实现
SAPUI5 oData PUT operation requires GET ENTITY implementation
我实现了 oData 服务的更新操作。当我尝试通过我的 SAPUI5 应用程序调用它时,我收到以下错误消息:
'XXX_GET_ENTITY' not implemented in data provider class
没错 - 我还没有实现 GET ENTITY 方法。
但是,有人能告诉我为什么我需要这个来更新吗?
服务请求的JS编码是这样创建的:
oDataModel.update("/EntitySetName(<key>)", oPayload, {
success: function(oData) {
...
},
error: function(oError) {
...
}
});
我感谢每一个提示/解释。
ODataModel 的默认更新方法是 patch/merge,请参阅 ODataModel class 的文档:
Trigger a PUT/MERGE request to the OData service that was specified in
the model constructor.
The update method used is defined by the global defaultUpdateMethod
parameter which is sap.ui.model.odata.UpdateMethod.Merge by default. [...]
PATCH_ENTITY 方法的默认实现首先调用 READ_ENTITY,然后将传入数据与检索到的数据合并以允许部分更新。来自这个方法的评论:
*-a patch request is a partial update of an entity. All provided components are patched.
*-The default implementation of patch_entity performs a read before update [...]
要执行 PUT 请求,请将 updateMethod 属性 设置为 sap.ui.model.odata.UpdateMethod.Put。
我实现了 oData 服务的更新操作。当我尝试通过我的 SAPUI5 应用程序调用它时,我收到以下错误消息:
'XXX_GET_ENTITY' not implemented in data provider class
没错 - 我还没有实现 GET ENTITY 方法。 但是,有人能告诉我为什么我需要这个来更新吗?
服务请求的JS编码是这样创建的:
oDataModel.update("/EntitySetName(<key>)", oPayload, {
success: function(oData) {
...
},
error: function(oError) {
...
}
});
我感谢每一个提示/解释。
ODataModel 的默认更新方法是 patch/merge,请参阅 ODataModel class 的文档:
Trigger a PUT/MERGE request to the OData service that was specified in the model constructor.
The update method used is defined by the global defaultUpdateMethod parameter which is sap.ui.model.odata.UpdateMethod.Merge by default. [...]
PATCH_ENTITY 方法的默认实现首先调用 READ_ENTITY,然后将传入数据与检索到的数据合并以允许部分更新。来自这个方法的评论:
*-a patch request is a partial update of an entity. All provided components are patched.
*-The default implementation of patch_entity performs a read before update [...]
要执行 PUT 请求,请将 updateMethod 属性 设置为 sap.ui.model.odata.UpdateMethod.Put。