在ABAP中使用GET方法和分块响应使用REST服务。

2020-09-01 15:38发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我最近遇到了这样一种情况,我需要从包含GET方法的REST服务获得响应的全部结果。

在进行第一个GET调用时,它在JSON字符串的末尾添加了一个附加内容,

],"第一":{" $ ref":" http://some_server/test/"},"下一个":{" $ ref":" http://some_server/test/?page = 1  "}} 

随后的操作是通过GET调用" next":标记中的字符串,直到不存在这样的标记为止。

当然,这可以用自定义代码编程,但是在此之前,我想知道SAP是否已将其包含在自己的代码中。 我发现了很多关于如何发布多部分请求但没有多部分响应消耗的示例...

有人遇到过处理这种情况的代码吗?

由于我有点急,我将不再花时间在研究上,而是自己编写缺少的部分。 但是,仍然....我很好奇这是否可以使用现有的SAP功能来完成。

干杯

伊万

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我最近遇到了这样一种情况,我需要从包含GET方法的REST服务获得响应的全部结果。

在进行第一个GET调用时,它在JSON字符串的末尾添加了一个附加内容,

],"第一":{" $ ref":" http://some_server/test/"},"下一个":{" $ ref":" http://some_server/test/?page = 1  "}} 

随后的操作是通过GET调用" next":标记中的字符串,直到不存在这样的标记为止。

当然,这可以用自定义代码编程,但是在此之前,我想知道SAP是否已将其包含在自己的代码中。 我发现了很多关于如何发布多部分请求但没有多部分响应消耗的示例...

有人遇到过处理这种情况的代码吗?

由于我有点急,我将不再花时间在研究上,而是自己编写缺少的部分。 但是,仍然....我很好奇这是否可以使用现有的SAP功能来完成。

干杯

伊万

付费偷看设置
发送
2条回答
土豆飞人
1楼-- · 2020-09-01 16:44

OData协议为此提供了查询选项$ top,$ skip以实现客户端分页,另外还提供了$ skiptoken用于服务器端分页。

在ABAP RESTful编程模型中,使用$ skiptoken 如果查询结果包含5000个以上的条目,则由框架强制执行。

因此,您将在响应中添加如下所示的条目作为最后一个条目。 任何符合OData的客户端都必须能够获得这样的链接,并使用它来获取其余的响应。

 
 
 
 
Nir深蓝
2楼-- · 2020-09-01 16:40

安德烈你好,

感谢您的快速回复。

在我的情况下,服务器是政府提供的休息服务,该服务仍在开发中。 格式明确为JSON。 有问题的服务将返回大量记录,并在逻辑上分为页面,以避免服务器,网络等问题。

并使之更加复杂:尽管它仍在开发,更改和重新指定,但我必须着手其余的客户开发。 这是因为我们的两个客户已加入了这种全新数字服务集的用户试验团队。 ;)

所以现在我只有一个(非常)要连接的服务集的规范草案。 以及连接和探索测试响应的能力。

从我看到的服务器端开发来看,遵循链接中描述的分页规则: https ://jsonapi.org/format/#fetching-pagination ,这引出了上述问题:SAP标准类库中是否有任何可用于消耗多页响应的内容?

在明确此特殊情况需要进行多少自定义开发之后,我将发布更新。

如果有人已经走过这条路,我将很高兴知道一些基本知识。

干杯

伊凡

一周热门 更多>