当前位置:网站首页>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
两个字段的排序操作。
边栏推荐
猜你喜欢
leetcode-6132:使数组中所有元素都等于零
JVM 运行时数据区与JMM 内存模型详解
Node's traditional and advanced practices for formatting time (moment)
Microsoft Azure & NVIDIA IoT 开发者季 I|Azure IoT & NVIDIA Jetson 开发基础
shell脚本------条件测试 if语句和case分支语句
YOLOv7-Pose尝鲜,基于YOLOv7的关键点模型测评
如何保证数据库与缓存数据一致性?
【软件架构模式】MVVM模式和MVC模式区别
AC与瘦AP的WLAN组网实验
50.【动态二维数组的运用】
随机推荐
Go-Excelize API源码阅读(八)——GroupSheets(sheets []string)、UngroupSheets()
How to implement deep copy in js?
SkiaSharp's WPF self-painted five-ring bouncing ball (case version)
Mysql数据库的部署以及初始化步骤
会议OA(待开会议&所有会议)
Analysis of High Availability Solution Based on MySql, Redis, Mq, ES
JVM 运行时数据区与JMM 内存模型详解
Get the Token from the revised version of Qubutu Bed
微服务:事务管理
Node's traditional and advanced practices for formatting time (moment)
50.【Application of dynamic two-dimensional array】
杨辉三角(c语言实现)
leetcode-6132:使数组中所有元素都等于零
【软件架构模式】MVVM模式和MVC模式区别
How does UXDB return the number of records for all tables in the current database?
Microsoft Azure & NVIDIA IoT developers season I | Azure IoT & NVIDIA Jetson development foundation
The soul asks: How does MySQL solve phantom reads?
HoloView——实时数据
Redis learning
Leetcode - 6135: the longest part of the figure