SAP REST 接口 (ABAP)

SAP 在 ABAP netweaver 栈中提供了 ABAP REST 库。完整的规范可以在 SAP 帮助门户上找到。帮助门户还包含一个小教程 .除了预先交付的 REST 库类之外,没有工具可用于在 ABAP 中更快地开发 REST。它正在向 SE24 和 SE80 发展。

在 ABAP 中创建 REST 服务

我们将在 ABAP 中创建一个简单的 Hello World REST 服务。REST ABAP 中有 2 个主要类:处理 URL 的应用程序类和逻辑所在的资源类。

启动事务 SE24 并创建一个从 SAP 交付的类继承的新类 CL_REST_HTTP_HANDLER

在这里选择继承按钮很重要!将 CL_REST_HTTP_HANDLER 填写为父类:

必须重新定义 GET_ROOT_HANDLER 方法:

现在只需将该方法留空即可。保存并生成。

现在,基于 CL_REST_RESOURCE 的继承创建 REST 资源类:

现在重新定义 GET 方法:

通过简单地添加文本 “Hello World” 来添加一个简单的实现:

保存并激活此类。

现在我们回到上一个类:应用程序类。在这里,我们现在编辑之前留空的 GET_ROOT_HANDLER 实现:

如果 URL 正在获取输入 /hello,则调用处理程序类(我们的资源类)ZCL_HELLO_WORLD_RES_REST。此类将返回字符串。

保存并再次激活。编码工作已完成。

运行实现

现在我们需要做一个运行实现。转到事务 SICF 并首先选择主节点 default_host。然后从菜单“服务/主机”中选择“创建服务”选项:

填写服务名称,然后单击确定。在下一个屏幕中给出说明,在“处理程序列表”部分中,请参阅应用程序类 ZCL_HELLO_WORLD_REST

保存服务。服务已创建,但未处于活动状态。要激活,请右键单击该服务,然后选择激活:

在上一个 SICF 屏幕中,再次右键单击该服务,然后选择选项测试服务。将出现一个屏幕,显示“未找到合适的资源”。现在通过在 URL 中的测试后添加 /hello 来修改 URL,然后再次按回车键:

URL 建立:测试是 SICF 中定义的名称。/hello 是在应用程序类中定义的。

授权和安全

REST 库没有关于授权和安全性的细节。所以你必须在开发时注意。

业务授权安全性:必须通过 AUTHORITY-CHECK 语句在正确的位置内置。

SICF 节点上的“登录数据”选项卡中提供了技术安全性。在这里,您可以设置技术登录方法的要求,以及是否只允许 https。

REST vs ODATA

ODATA 基于 REST,具有更多功能。如果有选择,最好使用 ODATA。此博客中介绍了 ODATA 公开。

在 SAP REST 中是受支持,但你必须编写很多代码,并且可用的工具有限。对于 ODATA,可以使用更多的开发和监视工具。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Murphy2023

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值