我们正在构建一个向客户端公开 REST Api 的服务,我们正在使用 jugglingdb 创建模型并表示为服务器。我想知道在 node.js 中创建 RESTful API 时是否有任何有用的模块
我尝试使用 restify,但它似乎只是 express 的淡化版本,并且似乎缺少我需要 express 的一些功能,所以我改用 express。
编辑:我们没有前端。所以我们严格来说是一个rest api服务,只是为各种客户端提供数据
我们正在构建一个向客户端公开 REST Api 的服务,我们正在使用 jugglingdb 创建模型并表示为服务器。我想知道在 node.js 中创建 RESTful API 时是否有任何有用的模块
我尝试使用 restify,但它似乎只是 express 的淡化版本,并且似乎缺少我需要 express 的一些功能,所以我改用 express。
编辑:我们没有前端。所以我们严格来说是一个rest api服务,只是为各种客户端提供数据
RESTfull API 通过 HTTP 协议获取和发布数据。一种更先进的方法是使用WebSocket [Wikipedia] npm link。尝试使用基于 Express.js 构建的Sails.js框架,该框架使用 Socket.IO 进行闪存数据传输
要考虑的一种方法是让事情变得轻松简单。如果你没有前端,你可以单独使用 Connect 模块而不是 Express,它是基于 Connect 构建的:
http://www.senchalabs.org/connect/
我的 Node.js RESTful API 使用这种方法很幸运。我确实得到了一些重复的模式,尤其是在解析传入的帖子数据时。但是我发现代码片段太小了,不值得放入模块中,它在某些情况下为我提供了惊人的灵活性。
另一种对我来说效果很好的方法:将所有数据发布为 JSON - 而不是发布键/值对。根据您的 API 客户端,您可能可以执行此操作。我的 API 客户端是来自网页的 jQuery AJAX 调用。发送 JSON 帖子非常容易。jQuery processData 属性允许这样做如下:
$.ajax({
url: '/nodeAjaxHandler',
type: 'POST',
data: JSON.stringify(formVals),
processData: false,
dataType: 'json',
success: function(data) {
},
error: function(a, b, c) {
}
});
现在在您的 Node 服务器中接收数据就像等待正文文本加载一样简单,然后 JSON.parse 将其转换为一个对象。非常可读和易于管理。而且当你更改正在发布和接收的数据字段时,你根本不需要更改任何接口代码!
(如果你敢的话,你可以更进一步,让字段名称与你的数据库字段名称相匹配——然后你可以整合更多的代码。这对我来说有风险,但效果很好——我不确定缺点可能是什么还没有。我确实在 mySQL 查询中转义了我的所有字段名和列名。)
如果您使用的是 MongoDB(与 mongoose):
http://benaugarten.com/node-restful/ https://npmjs.org/package/node-restful