SAP ABAP OData 服务如何支持删除(Delete)操作试读版

正如本教程的开篇介绍文章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 OData 服务的创建,读取,过滤,排序操作的具体实现方式。本文介绍删除(Delete)操作的实现方式。

本教程之前介绍 SAP ABAP OData 服务的创建操作实现时,曾经提到:模型的创建,修改和删除操作,都是属于会产生 Side Effect 的操作,这种操作消费者在提交请求给 OData 服务器端时,必须在 HTTP 请求的头部字段里,提供 CSRF token.

我们在 Postman 里创建一个新的 Collection,用于存放 OData 删除请求,通过该请求,删除系统里已经存在的图书数据。

首先使用如下 HTTP GET 请求,向服务器请求一个 CSRF token 值:

https://{{host}}:{{port}}/sap/opu/odata/sap/ZBOOK_MANAGE_SRV/?x-csrf-token=fetch

本步骤之前已经介绍过,服务器颁发的 CSRF token,会存储在返回的 HTTP 响应的 x-csrf-token 字段里。

通过 HTTP DELETE 请求进行 OData 删除操作:

OData 服务成功执行,返回 HTTP 204 No Content 状态码和消息。

我们在前一步骤学习 SAP ABAP OData 服务的创建操作实现里,曾经使用 HTTP POST 请求,往系统里添加了一本名为 《SAP BTP》的图书:

本文我们通过上面介绍的 HTTP DELETE 操作,成功将这本书从数据库表 ZBOOKS 里删除,删除后 ZBOOKS 数据库表的条目数重新回到了 3.


下面是 OData 删除操作实现的具体步骤。

推荐阅读更多精彩内容