用于REST API的可移植Javascript客户端

Portable Javascript Client for a REST API

本文关键字:Javascript 客户端 可移植 REST API 用于      更新时间:2023-09-26

我将为RESTful Web服务创建一个基于JavaScript的客户端。客户端应该方便访问Web服务,并将一些原始HTTP调用包装成更多的"糖果"函数和对象。

我打算将这个客户端库用于基于node.js的应用程序以及PhoneGap。所以,我不必关心同源政策。然而,在PhoneGap和node.js.中调度HTTP请求是完全不同的

现在我想知道如何用JavaScript实现一个客户端库,它可以在不同的"平台"(node.js、PhoneGap,也许以后甚至是浏览器)之间移植?

提前感谢

您可以尝试在nodejs下模拟XmlHttpRequest,但您可能仍然需要特殊情况下的客户端库才能在PhoneGap(以及其他基于浏览器的JavaScript平台)和nodejs中操作。

一种方法是检查"window"(默认情况下在nodejs下未定义)或"global"(应该)在浏览器中未定义)的内容。

编辑

看来我说(写)得太早了。查看抽象http请求,虽然它不明确支持PhoneGap,但可能会给您足够的工作空间。

Phonegap基本上只是一个浏览器。因此,如果你想绕过同源政策,你可能需要研究不同的phonegap插件(GapSocket)来处理你自己的通信。

REST是一种用于设计web服务的体系结构风格。web服务不必使用HTTP来实现RESTful,尽管它们中有很大一部分是这样做的。要实现RESTful的,基于HTTP的web服务必须严格利用HTTP的资源名称(URI)、操作(GET、PUT、DELETE等)、错误代码(404200…)等。这意味着任何(基于HTTP的)REST客户端框架都可以与任何(基于HTTP的)REST服务器框架互操作:如果不这样做,可能出了什么问题。因此,您的问题分解为找到一个好的通用REST客户端框架和一个或多个通用REST服务器框架。

对于基于node.js的web服务,请查看Geddy服务器端框架(以下是文档)。

对于PhoneGap REST客户端,您可以尝试Force.com JavaScript REST工具包(请参阅此扩展)。

免责声明:我只读过这些框架,没有使用过。