web-services - XML-RPC 是否不好用作公共(public) API 实现的协议(protocol)?

标签 web-services api language-agnostic xml-rpc

我需要为我在此期间从事的项目实现 Web API。我读到有许多标准协议(protocol)可以做到这一点:XML-RPC、SOAP、REST。显然,XML-RPC 是我所看到的最容易实现和使用的一种,但我没有发现任何关于使用它来实现 API 的信息。相反,我发现了很多关于在 PHP 中创建 REST API 的教程,例如。使用 XML-RPC 实现公共(public) Web API 是否有任何反指示?

另外,更一般地说,我可以(某种程度上)为我的 API 定义一个自定义协议(protocol),以使事情变得更简单(即只接受包含我需要的参数的 GET 请求):这会很糟糕吗?必须使用标准协议(protocol)吗?

最佳答案

如果你的应用程序是一个非常简单的应用程序,那么简单地使用 GET 请求并传入参数并没有错。您不必使用像 SOAP 这样的标准。

从技术上讲,如果您发送的是实体,您将使用 REST。例如,如果您有要传输的域对象,则可以通过 GET 检索这些对象,并通过标准 URL 通过 PUT 进行更新。尽管许多人将上面的第一个选项称为休息,但这并不完全正确。

SOAP/XML-RPC 是为每个平台都提供库的协议(protocol),但由于其 XML 膨胀和(相对)复杂的模式而逐渐消亡。我不是这些协议(protocol)的忠实拥护者,它们从未被如此广泛地使用。人们可能会反对,但尝试找到一家大型网络公司,将两者用于他们的公共(public)协议(protocol),我会给那个人买一个三明治。

似乎 JSON 现在正在接管世界。它结构紧凑,解析速度快,非常适合 Web 应用程序,因为您可以将其直接导入 javascript。只需使用返回 JSON 的 HTTP GET,您就可以走得很远。

关于web-services - XML-RPC 是否不好用作公共(public) API 实现的协议(protocol)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4575463/

相关文章:

java - 了解 JBOSS 及其服务

java - WSIT Metro 版本 2.3 WSRM1124 错误

java - 轴2 : two different webservices sharing the same name

java - 为什么 Feedly API 没有返回类别流中的所有 id 条目?

algorithm - 伪代码解释器?

使用 JMS 发布订阅的 Java EE 替代方案

api - 功能/集成测试 NodeJS ReST API 实现

algorithm - 关于类的一般编程问题

algorithm - 如何有效地将学生匹配到他们喜欢的部分?

jquery - 创建 jQuery 插件,如何自定义范围?