本文并没有假装解释关于de REST适配器的技术功能,而是试图分析适配器是否与RESTful服务完全兼容。如果你想知道更多的技术细节,我强烈推荐给你伊沃库姆斯的博客。这个博客用实际案例解释了REST适配器的功能,对我理解它有很大帮助。为此,我建议阅读Martin Fowler关于"Richardson成熟度模型"的文章https://martinfowler.com/articles/richardsonMaturityModel.html
很多人用JSON消息将"REST服务"称为HTTP POST操作,但它远不是RESTful服务,剩下的适配器有多少"RESTful"?让我们按照Richardson成熟度级别来研究REST适配器的发送方和接收方的功能:
REST适配器基于HTTP协议(对于HTTP,什么叫云服务,当然还有HTTPS通信),人工智能可以做什么,所以支持这个基本级别:
但是,有一个限制…理论上,数据可以以任何格式(XML、JSON、YAML等)交换,但适配器在双方(发送方和接收方)仅限于JSON和XML:
适配器支持双方的资源,即使有多个资源级别。这是一个强大的功能。
发送方适配器:
接收方适配器:
为这些变量赋值的方法有很多(示例中的"slot_id"):常量、XPath表达式、JSON表达式、动态配置等。
适配器设计为支持CRUD操作(GET、POST、PUT、,删除):
发送方适配器:
在"操作确定"页签中,可以将HTTP操作映射到PI操作:
接收方适配器:
在"REST操作"页签中,有不同的方式来定义HTTP操作。更简单的一个,是"手动值"选项:
但是,补丁呢?补丁操作的使用正在增长,如果需要用补丁操作调用restfulweb服务,会发生什么?如果是强制要求,则需要版本7.50>=SP09,大数据app,如以下SAP注释所述:
https://launchpad.support.sap.com/#/notes/2498897
另外,如何使用不同的HTTP响应码(201、202、404、409等)?为此,您可以对适配器两侧使用"错误处理"选项卡。有关此功能的详细信息,请参阅help.sap.com帮助. 此外,淘客什么意思,对于此功能,可能需要应用以下SAP说明中描述的修补程序:
https://launchpad.support.sap.com/#/notes/2175250
REST适配器中没有任何与HATEOAS相关的标准功能。不过,在我看来,这不是什么大问题,因为链接是有效负载的一部分,可以用不同的方式修改有效负载。
发送方适配器:
如果您调用一个系统或应用程序并接收这样的响应有效负载:
在响应映射中包含链接不是很困难:
接收方适配器:
以相同的方式,如果从RESTful服务接收响应负载中的链接,并且发送方需要它们,那么可以使用映射将接收的链接调整为发送方格式。在这种情况下,解决这个问题的更简单的方法是尝试在双方(接收方和发送方)使用相同的相对url。
现在,什么叫大数据,我们可以尝试回答最初的问题:REST适配器有多"RESTful"?在我看来,差不多。除了一些非关键的限制(YAML不支持消息格式、低版本中的补丁操作、HATEOAS…),REST适配器功能足以解决与大多数REST服务的集成问题。