使用Gateway Service构建器的OpenAPI(swagger)和ODATA

2020-09-08 07:22发布

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

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


在我的公司中,我们希望在仅支持OpenAPI的非SAP工具中公开SAP ERP。 我已经在SAP的SEGW编辑器中构建了一个小型API。 API使用两个实体" businesspartner"和" address"。 该地址与businesspartner相关。

我可以直接使用浏览器很好地调用API。 但是,SAP仅从网关访问ODATA。 因此,此操作有效:

/sap/opu/odata/SAP/ZBP_POC_SRV/BusinessPartnerSet('0100011112')。

但这是ODATA操作。 通过我们的OpenAPI工具,我们可以进行以下操作:

/sap/opu/odata/SAP/ZBP_POC_SRV/BusinessPartnerSet?PartnerID = 0100011112。 ODATA不支持此功能,并且自定义参数在网关中丢失。 我看到可以更改SAP的网关编码,但是更改标准SAP对我来说并不是一个好选择。 将OpenAPI格式转换为ODATA的最佳方法是什么?

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

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


在我的公司中,我们希望在仅支持OpenAPI的非SAP工具中公开SAP ERP。 我已经在SAP的SEGW编辑器中构建了一个小型API。 API使用两个实体" businesspartner"和" address"。 该地址与businesspartner相关。

我可以直接使用浏览器很好地调用API。 但是,SAP仅从网关访问ODATA。 因此,此操作有效:

/sap/opu/odata/SAP/ZBP_POC_SRV/BusinessPartnerSet('0100011112')。

但这是ODATA操作。 通过我们的OpenAPI工具,我们可以进行以下操作:

/sap/opu/odata/SAP/ZBP_POC_SRV/BusinessPartnerSet?PartnerID = 0100011112。 ODATA不支持此功能,并且自定义参数在网关中丢失。 我看到可以更改SAP的网关编码,但是更改标准SAP对我来说并不是一个好选择。 将OpenAPI格式转换为ODATA的最佳方法是什么?

付费偷看设置
发送
6条回答
空代码
1楼-- · 2020-09-08 07:40

Hello Boer,

尝试使用/sap/opu/odata/SAP/ZBP_POC_SRV/BusinessPartnerSet?filter = PartnerID EQ'0100011112'。

非常感谢,

Sudheer



风早神人
2楼-- · 2020-09-08 07:36

嗨,

您能找出解决方案吗? 我们也有相同的要求。

Haoba3210
3楼-- · 2020-09-08 07:37

嗨,A。Boer,

我不确定围绕OpenAPI和OData转换是否有任何特定的工具解决方案。 我可以建议使用SAP API Management之类的工具为所有API提供程序提供服务。 在这里,您可以简单地将查询参数(例如PartnerID = XYZ)作为输入,并使用分配消息策略以所需的格式将其馈送到目标端点。 然后,您可以向使用者提供标准的URL格式,并且仍然可以隐式控制任何后端需求的特殊性。 在具有丰富API的环境中,加上API Management是个好主意!

以利亚,

Bunny_CDM
4楼-- · 2020-09-08 07:51

是的,但是我们最终使用了SAP API管理。 使用API​​管理中的策略,您可以执行小的脚本和/或转换以适应URL和有效负载。

当学会了学习
5楼-- · 2020-09-08 07:57

ABAP-Swagger可以帮助您吗?

https://github.com/larshp/ABAP-Swagger

编辑:只是注意到这个问题已经很久了,只是

半个程序猿
6楼-- · 2020-09-08 07:51

内部,我们讨论了这样的解决方案。 但是,SAP不是我们领域中唯一的API提供程序。 这意味着SAP API和非SAP API之间会发生调用差异。 呼叫者必须知道他是否必须使用filter命令。 这不会创建通用方法。 当前,我们正在寻求在链中实现一个额外的非SAP组件,以将OpenAPI转换为ODATA。 SAP必须针对这种情况提供解决方案吗?

一周热门 更多>