【ABAP】REST/HTTP技术(一)

1、概念

1.1、SAP 如何提供 Http Service

如果要将 SAP 应用程序服务器 (application server)作为 http 服务提供者,需要定义一个类,这个类必须实现 IF_HTTP_EXTENSION 接口。IF_HTTP_EXTENSION 接口只有一个方法 HANDLE_REQUEST。自定义的这个类必须实现 HANDLE_REQUEST 方法。HANDLE_REQUEST 方法的 SERVER 参数是一个 http server 对象 (类型为 ICF 框架的 IF_HTTP_SERVER 接口)。http server 对象具有的属性和方法对请求和响应进行处理。

然后使用 SICF 事务码创建服务,并且将处理器(handler)设定为自定义类。

客户端就可以访问这个服务。

1.2、REST

此部分引用自:什么是REST,作者:IT修真院

而是Resource Representational State Transfer的缩写:通俗来讲就是:资源在网络中以某种表现形式进行状态转移。分开来讲:

1.Resource:资源,即数据(网络的核心)。

2.Representational:某种表现形式,比如用JSON,XML,JPEG等;

3.State Transfer:状态变化。通过HTTP动词实现。

REST描述的是在网络中client和server的一种交互形式;REST本身不实用,实用的是如何设计 RESTful API(REST风格的网络接口;

Server提供的RESTful API中,URL中只使用名词来指定资源,原则上不使用动词。"资源"是REST架构或者说整个网络处理的核心。

用HTTP协议里的动词来实现资源的添加,修改。

Server和Client之间传递某资源的一个表现形式,比如用JSON,XML传输文本,或者用JPG,WebP传输图片等。

用 HTTP Status Code传递Server的状态信息。比如最常用的 200 表示成功,500 表示Server内部错误等。

Web端不再用之前典型的PHP或JSP架构,而是改为前段渲染和附带处理简单的商务逻辑。Web端和Server只使用上述定义的API来传递数据和改变数据状态。格式一般是JSON。

对于资源的具体操作类型,由HTTP动词表示。常用的HTTP动词有下面五个(括号里是对应的SQL命令):

1.GET(SELECT): 从服务器获取资源(一项或多项)

2.POST(CREATE): 在服务器新建一个资源

3.PUT(UPDATE): 在服务器更新资源(客户端提供改变后的完整资源)

4.PATCH(UPDATE): 在服务器更新资源(客户端提供改变的属性)

5.DELETE(DELETE):从服务器删除资源。

比如:

GET /zoos:列出所有动物园

POST /zoos:新建一个动物园

GET /zoos/ID:获取某个指定动物园的信息

PUT /zoos/ID:更新某个指定动物园的信息(提供该动物园的全部信息

PATCH /zoos/ID:更新某个指定动物园的信息(提供该动物园的部分信息)

DELETE /zoos/ID:删除某个动物园

GET /zoos/ID/animals:列出某个指定动物园的所有动物

DELETE /zoos/ID/animals/ID:删除某个指定动物园的指定动物

2、工具

SAP

SOAPUI

1

2

3、创建接口


版权声明:本文为CSDN博主「BearGeorge」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/ALOmiya0/article/details/105917489

相关推荐
源远流长jerry14 小时前
curl、ping、iptables、iperf、tcpdump解析
网络·网络协议·测试工具·ip·tcpdump
米羊12115 小时前
OA 系统防护与渗透测试(上)
网络·安全
林疏safe15 小时前
应急演练剧本
网络
manuel_8975717 小时前
六 系统安全
网络·数据库·系统安全
无忧智库17 小时前
深度解读《某低空经济试验区“十五五”通用航空机场与无人机物流网络初步设计方案》:构建未来低空经济数字底座的全景蓝图
网络·无人机
Arwen30318 小时前
SSL 加密证书助力企业构建安全的网络环境
网络·网络协议·tcp/ip·安全·php·ssl
乾元18 小时前
ISP 级别的异常洪泛检测与防护——大流量事件的 AI 自动识别与响应工程
运维·网络·人工智能·安全·web安全·架构
水力魔方19 小时前
SWMM深度二次开发专题7:网络分析-获取网络
网络·经验分享·swmm
木鱼布20 小时前
聊聊防火墙技术
网络·网络协议·tcp/ip
liulilittle20 小时前
XDP VNP虚拟以太网关(章节:一)
linux·服务器·开发语言·网络·c++·通信·xdp