首页 > 其他分享 >SAP UI5 OData 请求的自定义 HTTP header 设置方法

SAP UI5 OData 请求的自定义 HTTP header 设置方法

时间:2022-10-03 23:35:47浏览次数:61  
标签:Customer 路径 HTTP 自定义 OData 绑定 实体 ALFKI

代码如下:

oModel.setHeaders({"myHeader1" : "value1", "myHeader2" : "value2"});

我们可以先通过如下代码,拿到一个 OData Service url 对应的 OData Model 实例:

// "ODataModel" required from module "sap/ui/model/odata/v2/ODataModel"
var oModel = new ODataModel("http://myserver/MyService.svc/?myParam=value&myParam2=value");

添加自定义标头时,如果未在标头映射中再次指定,所有以前的自定义标头都将被删除。 有些header是私有的,也就是OData模型内部设置的,不能设置:

  • "accept"
  • "accept-language"
  • "maxdataserviceversion"
  • "dataserviceversion"
  • "x-csrf-token"

OData 模型的绑定路径语法与相对于 OData 中用于访问特定实体或实体集的服务 URL 的 URL 路径相匹配。

可以根据服务元数据中定义的 OData 服务结构访问 OData 模型提供的数据。 URL 参数(例如过滤器)不能添加到绑定路径中。 绑定路径可以是绝对的或相对的。 绝对绑定路径会立即解析。 相对路径只有在能够自动转换为绝对绑定路径的情况下才能被解析。

例如,如果属性绑定到相对路径,然后父控件绑定到绝对路径,则可以将相对属性路径解析为绝对路径。

ODataModel 中的以下绑定示例取自 Northwind 演示服务。

绝对绑定路径(以斜杠 ('/') 开头):

"/Customers"
"/Customers('ALFKI')/Address"

可以使用上下文解析的相对绑定路径(例如“/Customer('ALFKI')”):

"CompanyName"
"Address"
"Orders"

解析成的绝对路径:

"/Customer('ALFKI')/CompanyName"
"/Customer('ALFKI')/Address"
"/Customer('ALFKI')/Orders"

导航属性(navigation properties),用于标识单个实体或实体集合:

"/Customers('ALFKI')/Orders"
"/Products(1)/Supplier"

从 OData 服务请求的数据缓存在 OData 模型中。

它可以通过 getProperty() 方法访问,该方法返回实体对象或值。 此方法不从后端请求数据,因此您只能访问已请求和缓存的实体:

oModel.getProperty("/Customer('ALFKI')/Address");

下列代码返回 undefined:

只能使用此方法访问单个实体和属性。 要访问实体集,可以通过列表绑定获取所有读取实体的绑定上下文。 此方法返回的值是模型中数据的副本,而不是 JSONModel 中的引用。

标签:Customer,路径,HTTP,自定义,OData,绑定,实体,ALFKI
From: https://www.cnblogs.com/sap-jerry/p/16751565.html

相关文章

  • 如何使用 SAP UI5 V2 ODataModel 创建数据
    在ODataV2模型中创建新实体存在三种不同的方法。最适合的方法取决于应用程序用例。对于所有方法,对应的API都采用一个groupId指定一个批处理组,以控制何时将创建实......
  • 关于 SAP UI5 ODataModel.createEntry 返回的 context 对象
    在返回的上下文中使用创建的API返回的Promise对象,以便在持久化或重置时获得通知。使用isTransientAPI,您可以确定创建的上下文是transient的还是持久的;请注意,对于尚......
  • SAP UI5 OData 模型(V2) 的使用方法介绍
    OData模型是服务器端模型,这意味着数据集仅在服务器上可用,客户端即SAPUI5应用只知道当前可见(请求)的数据。排序和过滤等操作在服务器上完成,然后将处理结果返回给客户端......
  • 如何使用 SAP UI5 V2 ODataModel 模型 API 实现 deepCreate 的场景以及局限性
    如果开发人员期望在持久化时请求已创建条目的导航属性(navigationproperty),请使用可选的expand参数在与实体创建的POST请求相同的批处理请求中有效地执行此操作。可......
  • nonebot2 使用 nonebot_plugin_gocqhttp 插件如何升级gocq
    在使用nonebot_plugin_gocqhttp这个插件一段时候后发现需要升级gocq这里给出了升级方法的说明:0.需要下载最新gocqhttp版本1.在nonebot2的accounts文件夹中替换旧的.exe......
  • CSP模拟练习赛1 https://www.luogu.com.cn/contest/82861#problems
    P1321单词覆盖还原简单思路字符串#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<queue>#include<map>#definelllonglon......
  • 自定义异常
    自定义异常使用Java内置的异常类可以描述在编程时出现的大部分异常情况。除此之外,用户还可以自定义异常。用户自定义异常类,只需要继承Exception类即可。在程序中使用自......
  • http各版本的改进都是什么?
    HTTP1.0早先1.0的HTTP版本,是一种无状态、无连接的应用层协议。HTTP1.0规定浏览器和服务器保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP连接,服务器处理完成......
  • Vue2 自定义属性
    概述vue中不不仅仅有官方提供的指令,用户还可以根据自己的需要进行自定义指令。比如当我们需要一个常用的操作将文字改为蓝色,如果我们需要修改大量标签时,就可以使用自定......
  • spring boot 自定义线程池与使用
    一、进行线程池创建importcn.hutool.core.thread.ThreadFactoryBuilder;importlombok.extern.slf4j.Slf4j;importorg.springframework.aop.interceptor.AsyncUncaug......