当前位置:网站首页>SAP ABAP OData 服务如何支持 $orderby (排序)操作试读版
SAP ABAP OData 服务如何支持 $orderby (排序)操作试读版
2022-08-01 09:34:00 【汪子熙】
正如本教程的开篇介绍文章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 服务
- 正在写作中,敬请期待
序言
本文详细介绍了 SAP ABAP OData 服务如何支持 $orderby (排序)操作,以一个图书管理的 OData 服务实现为例,阐述了如何基于图书的名称和作者名称这两个字段进行排序操作。
我们在本教程第一篇文章 1. 在 SAP ABAP 事物码 SEGW 里创建 SAP OData 项目 里创建的 OData 模型,在 book_name 和 author_name 这两个字段的 sort 属性打上了勾,意思是这两个属性需要支持 OData 标准协议的 $orderby 操作即排序操作。

为了更清楚的看到我们的图书管理 OData 服务,在支持了 $orderby 操作之后的运行时效果,我们再往之前存储图书信息的 ZBOOKS 数据库表里添加一行测试数据:

我们如果不加任何参数,直接通过 OData 服务读取系统所有的 book 数据,那么返回给消费者的 book 数据的顺序,和上图数据库表里记录的顺序一致,这三条记录的 Author,依次为 Jerry,Tom 和 Arena.
我们使用本教程之前步骤提到的 Postman,在请求所有图书数据的 OData 请求的 HTTP 头部字段里,添加一个名叫 Accept 的字段,值为 application/json.
这样,点击 Send 按钮之后,我们开发好的 OData 服务,会以 JSON 格式返回数据。
点击屏幕右下角的按钮,将这些 JSON 数据粘贴到系统剪切板里。
然后粘贴到自己喜欢的 JSON 数据查看工具里即可。这里我用了一款名叫 JSON Viewer Pro 的 Chrome 扩展,打开上面 Postman 收到的 JSON 数据。

从中可以看出,OData 返回的三条数据,顺序同数据库表里的三条数据顺序完全一致。
下面我们开始实现基于 author_name 和 book_name 两个字段的排序操作。
边栏推荐
- 【软件架构模式】MVVM模式和MVC模式区别
- Shell:条件测试操作
- Get the Token from the revised version of Qubutu Bed
- 如何保证数据库与缓存数据一致性?
- STM32个人笔记-嵌入式C语言优化
- 自定义IP在PCIE中使用
- Opencv creates a window - cv.namedWindow()
- Enterprise WeChat group: robot timing reminder function database configuration
- 程序员如何学习开源项目,这篇文章告诉你
- Three chess (C language implementation)
猜你喜欢

Analysis of High Availability Solution Based on MySql, Redis, Mq, ES

如何保证数据库与缓存数据一致性?

leetcode-6134:找到离给定两个节点最近的节点

Microsoft Azure & NVIDIA IoT developers season I | Azure IoT & NVIDIA Jetson development foundation

【数据集】各类绝缘子、鸟巢及防震锤数据集汇总

Idea 常用插件

js中如何实现深拷贝?

会议OA(待开会议&所有会议)

自定义IP在PCIE中使用

The use of scrapy crawler framework
随机推荐
Enterprise WeChat group: robot timing reminder function database configuration
[Interview: Concurrency 39: Multithreading: Thread Pool] ThreadPoolExecutor Class - Submit, Stop
SkiaSharp's WPF self-painted five-ring bouncing ball (case version)
50.【动态二维数组的运用】
Change Servlet project to SSM project
leetcode-6133: maximum number of groupings
朴素贝叶斯--学习笔记--基本原理及代码实现
高级驾驶辅助系统ADAS简介
在GBase 8c数据库后台,使用什么样的命令来对gtm、dn节点进行主备切换的操作
Optimal dazzle Oracle database support what kinds of type of the time and date
自定义IP在PCIE中使用
周鸿祎称微软抄袭 360 安全模式后发文否认;英特尔CEO基辛格回应市值被AMD超越:股价下跌是咎由自取|极客头条
YOLOv7-Pose尝鲜,基于YOLOv7的关键点模型测评
UXDB如何返回当前数据库所有表的记录数?
sql server, FULL模式, dbcc shrinkfile(2,1) 不能收缩事务日志,还是原来的大小,是为什么?
In the background of the GBase 8c database, what command is used to perform the master-slave switchover operation for the gtm and dn nodes
安装GBase 8c数据库的时候,报错显示“Resource,如何解决?
mysql在cmd的登录及数据库与表的基本操作
淘宝商品详情又见淘宝详情,升级高级版 API
ACmix 论文精读,并解析其模型结构