宁静和肥皂

Igu*_*amu 3 rest soap

如何同时实现restful和SOAP?

Avi*_*lax 12

您无法实现符合REST和SOAP的单个API.

但是,可以创建一个公开RESTful API和具有等效功能的SOAP API的系统.

为此,系统的底层实现应独立于两个API.例如,如果您使用Java实现系统,则底层实现和每个API都应该位于独立的包中.如果是Python,独立模块.等等.

理想情况下,如果您有无限的时间,每个API都将完全设计为符合其体系结构样式的基础范例:RESTful API将适当地围绕资源和状态表示的转移,并且SOAP API将适当地定向围绕程序及其参数和返回值.

但是,为了节省一些时间,可以通过简单地将资源名称与HTTP方法相结合,在REST API之后对SOAP API进行建模.结果是一种REST-via-SOAP混合.

例如,如果您的REST API具有名为的资源(Mailboxes支持GET,POST,PUT和DELETE),并接受并返回类型的表示application/json,则可以通过创建以下SOAP方法对资源及其方法建模:

  • get_mailboxes(url, options) returns jsonDoc
  • post_mailboxes(url, options, jsonDoc) returns jsonDoc
  • put_mailboxes(url, options, jsonDoc) returns jsonDoc
  • delete_mailboxes(url, options) returns nothing

如果我的符号不正确,我很抱歉,我对SOAP并不熟悉.