首页 > 其他分享 >如何通过 SAP ABAP OData $expand 操作在同一个 HTTP 请求中返回多个节点的数据试读版

如何通过 SAP ABAP OData $expand 操作在同一个 HTTP 请求中返回多个节点的数据试读版

时间:2022-08-20 23:22:37浏览次数:95  
标签:HTTP 试读 OData ABAP 操作 服务 SAP expand

正如本教程的开篇介绍文章SAP OData 开发教程 - 从入门到提高(包含 SEGW, RAP 和 CDP)所提到的,SAP OData 服务开发,从实现技术上来说,可以分为三大类。因此本教程也分为三大部分,分别进行介绍。本文是本教程的文章目录。

作者简介

Jerry Wang,2007 年从电子科技大学计算机专业硕士毕业后加入 SAP 成都研究院工作至今。Jerry 是 SAP 社区导师,SAP 中国技术大使。在长达 15 年的 SAP 标准产品开发生涯里,Jerry 曾经先后参与 SAP Business ByDesign, SAP CRM, SAP Cloud for Customer, SAP S/4HANA, SAP Commerce Cloud(电商云)等标准产品的研发工作。

Jerry 对 SAP OData 服务的开发,测试,发布,部署,测试,及基于各种不同 SAP 技术实现的 OData 服务的幕后技术实现细节和使用场合,均有着深入的研究。

基于 SEGW - Gateway Service Builder 的开发教程

使用 Restful ABAP Programming 编程模型(简称 RAP) 开发 OData 服务

  • 正在写作中,敬请期待

使用 SAP Cloud Application Programming 编程模型开发 OData 服务

  • 正在写作中,敬请期待

本教程前一篇文章,我们已经完成了为了支持 OData 协议定义的 $expand 操作,而必须进行的 OData 模型层面的增强:

16. 如何修改 SAP ABAP OData 模型,使其支持 $expand 操作

这些模型增强是在 ABAP 服务器的事物码 SEGW 里完成的。

我们在 SEGW 里创建了 Authors 这个 Navigation Properties,它通过名为 BookAuthor 的 Relationship,依据 Book 和 Author 两个 Entity Type 的 book_guid 字段,描述了这两个节点间的导航关系,即通过一个 Book 实例,我们期望通过 $expand 操作,读取到其所有的 Authors 数据:

在 Postman 里通过如下的 url,在同一个 HTTP 请求里,同时读取 Book 和其关联的 Author 信息:

https://{{host}}:{{port}}/sap/opu/odata/sap/ZBOOK_MANAGE_SRV/BookSet(guid'42010aee-2a94-1edd-8494-c9d14e91555e')?$expand=Authors

其中绿色的位于 $expand= 之后的 Authors,即是 Navigation Property 的字段名。

先看按照本文介绍步骤进行开发后,实现的效果:在 Postman 里,通过单个的 HTTP 请求,成功读取到了来自 book 节点(黄色)和 author 节点(绿色)的所有字段值:

本文余下部分,开始介绍如何实现 OData 模型的 DPC 类,以支持 $expand 操作。

标签:HTTP,试读,OData,ABAP,操作,服务,SAP,expand
From: https://www.cnblogs.com/sap-jerry/p/16609031.html

相关文章

  • springMvc32-原生apiSpring MVC过滤器-HiddenHttpMethodFilter
    浏览器form表单只支持GET与POST请求,而DELETE、PUT等method并不支持,spring3.0添加了一个过滤器,可以将这些请求转换为标准的http方法,使得支持GET、POST、PUT与DELETE请求,该过......
  • 五.Suricata识别http攻击流量
    一.定义http攻击类型编辑classification.config文件,为HTTP协议增加以下类别,并设定相应的priorityHTTP协议是明文传输,其流量特征存在于URL地址,POST请求正文,请求头或响应头......
  • HttpServletResponse 类
    HttpServletResponse类的作用HttpServletResponse类和HttpServletRequest类一样。每次请求进来,Tomcat服务器都会创建一个Response对象传递给Servlet程序去使用......
  • docker搭建phpswoole实现http服务
    一、创建DockerfileFROMphpswoole/swoole#COPY./www//var/www/二、同级目录下创建docker-composer.yamlservices:phpswoole-server:container_name:p......
  • HTTP中的强缓存与协商缓存
    HTTP中的强缓存与协商缓存_island2022年05月26日15:24 ·  阅读3792关注本文已参与低调务实优秀中国好青年前端社群的写作活动浏览器缓存机制我们都知道......
  • 如何修改 SAP ABAP OData 模型,使其支持 $expand 操作试读版
    正如本教程的开篇介绍文章SAPOData开发教程-从入门到提高(包含SEGW,RAP和CDP)所提到的,SAPOData服务开发,从实现技术上来说,可以分为三大类。因此本教程也分为三大......
  • httpd基于用户的访问控制
    13、基于用户的访问控制认证质询:WWW-Authenticate:响应码为401,拒绝客户端请求,并说明要求客户端提供账号和密码认证:Authorization:客户端用户填入账号和密码后再次发送请......
  • httpd--status页面
    LoadModulestatus_modulemodules/mod_status.so <Location"/status"> SetHandlerserver-status #限制谁可以访问 <requireany> requirealldenied re......
  • httpd--虚拟主机
    17、虚拟主机站点标识:socket IP相同,但端口不同 IP不同,但端口均为默认端口 FQDN不同:请求报文中首部Host:www.magedu.com有三种实现方案: 基于ip:为每个虚拟主机准......
  • httpd安装和使用
    httpd功能特性虚拟主机IP、Port、FQDNCGI:CommonGatewayInterface,通用网关接口反向代理负载均衡路径别名丰富的用户认证机制basicdigest支持第三方模块新特......