REST API vs. SOAP API

译自“Professional Web APIs with PHP: eBay,
Google, PayPal, Amazon, FedEx, Plus Web Feeds”

REST API
当处理REST请求时,因为信息是通过GET,所以,信息在传输过程中会进行URL编码(URL-encoded);当需要进一步处理时,首先要进行解码(唯一例外是用户名和密码)。不同的请求类型应该使用不同的endpoints(URLs);如果要以单独的脚本程序来处理所有的请求,你可以让所有的请求都指向同一个endpoint,或者配置web服务器来映射许多endpoints到同一个脚本。我建议用后一种方式;它符合规范同时允许你以后在不需要影响外部接口的情况下做修改。

允许程序员使用web接口来请求API – 在调试程序时将变得非常有用;程序员可以快速的判断问题源于请求本身还是代码。你可以提供给程序员的调试工具越多,你的网站也就越容易开发。

SOAP APIs
当处理SOAP请求时,首先要检查请求是否符合WSDL指定的格式。如果你使用诸如NuSOAP的工具,他可以帮你做到这一点。事实上,大多数SOAP API使用一个框架来处理许多低级的工作。 SOAP API使用单一endpoint接收所有请求(作为一个通用规则,一些大的API会根据功能来拆分到不同的endpoint),因此,或者是你有一个很大的脚本文件,或者是在每个功能点都调用很多required()方法。

允许程序员在使用web接口时可以粘贴整个请求文档到一个表单,然后发送到你的服务器。从直接的经验来看,有这样一个工具对程序员调试程序时是非常有用的。提供脚本或者函数从而让程序员可以手动创建请求对那些没有使用SOAP框架的程序员是很有帮助的。

Comments are closed.