在SAPUi5中自动将$ count技术化为请求URL

2020-09-24 08:07发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家您好, 请帮帮我。 我正...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家您好,

请帮帮我。

我正在学习使用SAPUI5开发UI并尝试从后端查询Odata服务而没有任何明确的GET请求,例如oModel.read(...)。 我已经在Component.js中设置了模型,并在各种xml视图中使用了数据绑定。 因此,SAPUI5在运行时会生成请求,但会将$ count参数添加到每个请求URL。 最终,这将导致400-错误的请求响应(尽管在大多数情况下会返回正确的数据)。 我想知道这是否是正常的SAPUI5行为,或者它是否与我的代码有关以及如何解决该问题。

//Component.js中的模型


 var url =" http://<主机>//myService.xsodata/";

 var oModel = new sap.ui.model.odata.ODataModel(url,true," user"," pswd");

 oView.setModel(oModel);

//XmlViews中的一些绑定
 

 

//生成的GET-Request URL:
 http://<主机>//myService.xsodata/LOCATIONS?$expand=Rooms/$count

 http://<主机>//myService.xsodata/ROOMS?$expand=State,D_AGG/$count

//回应

 <?xml version =" 1.0" encoding =" utf-8" standalone =" yes"?> <错误xmlns =" http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"> <代码/>  $ expand系统查询选项中位置'12'的语法错误:entryNavProperty'$ count'对于类型'myService.ROOMSType'不是有效的导航属性。  

我会感激任何指针

预先感谢

4条回答
一只江湖小虾
2020-09-24 08:40 .采纳回答

默认情况下,使用manifest.json创建OData模型时,每个请求都带有$ count。

要删除定义了模型的$ count编辑manifest.json文件(位于sap.ui5-> models下)。

假设您的模型名称为" myService",请检查以下代码是否包含manifest.json

" sap.ui5":{
      "楷模": {
          " myService":{
               " dataSource":<我的服务数据源URL>,
               " type":" sap.ui.model.odata.v2.ODataModel",
               "设置":{
                    " defaultCountMode":" None"//这将在所有请求上禁用$ count
               }
           }
      }
 } 

一周热门 更多>