调用 Filter URL odata 服务 sapui5 时出错
Error in calling Filter URL odata service sapui5
我必须将两个过滤器参数传递给 ODATA 服务。我正在尝试如下:
new ODataModel("proxy/http/FIORI-DEV.abc.com:8000/sap/opu/odata/sap/Z_FI_PAY_D_SRV/PdetailSet?$filter=Laufi eq '"+spayid+"' and Laufd eq '"+spaydt+"'?$sap-client=100",
出现以下错误。
GET http://localhost:63655/Payment1/proxy/http/FIORI-DEV.abc.com:8000/sap/opu/odata/sap/Z_FI_PAY_D_SRV/PdetailSet/$metadata?$filter=Laufi%20eq%20%27U2-28%27 400(错误请求)
Log-dbg.js:456 2020-07-21 16:40:39.956774 [ODataMetadata] 元数据初始加载失败 -
任何人都可以建议在 ODATA 服务上添加过滤器参数的正确方法。谢谢
创建新的 OData 模型时,您不能提供任何过滤器。您必须提供服务的基本 URI。
UI5 框架基于 context binding.
自动按值过滤
- 您使用
new ODataModel("proxy/http/FIORI-DEV.abc.com:8000/sap/opu/odata/sap/Z_FI_PAY_D_SRV/")
创建了一个 OData 模型(或者更好:您使用 manifest.json 定义了您的模型)。
- 您使用
view.setModel
将模型分配给您的视图
- 然后您在视图的控件上创建 属性 绑定(您通常会在 XML 定义中这样做,但您也可以在代码中这样做)
- 您在视图上绑定了一个元素。 这 是进行过滤的地方。 UI5 框架会查看您提供给
controlWhichShowsTheThing.bindObject
的绑定路径,并会在需要时向 OData 模型执行 HTTP 请求以检索该对象。
现在您可能会问“好的,那么绑定路径看起来如何”?这实际上取决于 oData 模型本身以及它如何处理各个对象。
我必须将两个过滤器参数传递给 ODATA 服务。我正在尝试如下:
new ODataModel("proxy/http/FIORI-DEV.abc.com:8000/sap/opu/odata/sap/Z_FI_PAY_D_SRV/PdetailSet?$filter=Laufi eq '"+spayid+"' and Laufd eq '"+spaydt+"'?$sap-client=100",
出现以下错误。 GET http://localhost:63655/Payment1/proxy/http/FIORI-DEV.abc.com:8000/sap/opu/odata/sap/Z_FI_PAY_D_SRV/PdetailSet/$metadata?$filter=Laufi%20eq%20%27U2-28%27 400(错误请求) Log-dbg.js:456 2020-07-21 16:40:39.956774 [ODataMetadata] 元数据初始加载失败 -
任何人都可以建议在 ODATA 服务上添加过滤器参数的正确方法。谢谢
创建新的 OData 模型时,您不能提供任何过滤器。您必须提供服务的基本 URI。
UI5 框架基于 context binding.
自动按值过滤- 您使用
new ODataModel("proxy/http/FIORI-DEV.abc.com:8000/sap/opu/odata/sap/Z_FI_PAY_D_SRV/")
创建了一个 OData 模型(或者更好:您使用 manifest.json 定义了您的模型)。 - 您使用
view.setModel
将模型分配给您的视图
- 然后您在视图的控件上创建 属性 绑定(您通常会在 XML 定义中这样做,但您也可以在代码中这样做)
- 您在视图上绑定了一个元素。 这 是进行过滤的地方。 UI5 框架会查看您提供给
controlWhichShowsTheThing.bindObject
的绑定路径,并会在需要时向 OData 模型执行 HTTP 请求以检索该对象。
现在您可能会问“好的,那么绑定路径看起来如何”?这实际上取决于 oData 模型本身以及它如何处理各个对象。