Node.js REST API服务中使用的基于资源的路由模块,或此类服务的其他有用模块

时间:2013-06-23 21:33:57

标签: javascript node.js rest express

我们正在构建一个向客户端公开REST Api的服务,我们正在使用jugglingdb创建模型并表达为服务器..我想知道在节点中创建RESTful API时是否有任何有用的模块的.js

我尝试使用restify但它似乎只是一个淡化版本的快递,似乎缺少一些我需要的快递,所以我切换到快递。

编辑:我们没有前端。所以我们严格来说是一个为各种客户提供数据的rest api服务

3 个答案:

答案 0 :(得分:1)

RESTfull API通过HTTP协议获取和发布数据。更进步的方法是使用WebSocket [维基百科] npm link。尝试在使用Socket.IO进行闪存数据传输的Express.js上使用Sails.js框架构建

答案 1 :(得分:1)

要考虑的一个方法是保持简洁明了。如果您没有前端,则可以单独使用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查询中删除所有字段名称和列名。)

答案 2 :(得分:1)

如果您正在使用MongoDB(使用mongoose):

http://benaugarten.com/node-restful/ https://npmjs.org/package/node-restful