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

Resource based routing module used in a Node.js REST API service, or other useful modules for this type of service

本文关键字:服务 模块 路由 用于 有用 其他 资源 API REST js Node      更新时间:2023-09-26

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

我试着使用restify,但它似乎只是一个淡化版的express,似乎缺乏express所需的一些功能,所以我改用express。

编辑:我们没有前端。因此,我们严格来说是一个restapi服务,只为各种客户端提供数据

需要考虑的一种方法是保持轻松简单。如果你没有前端,你可以单独使用Connect模块,而不是Express,后者建立在Connect:上

http://www.senchalabs.org/connect/

我的Node.js RESTful API很好地使用了这种方法。我最后确实重复了一些模式,尤其是在解析传入的post数据时。但我发现代码片段太小了,不值得放在模块中,它在某些情况下为我提供了惊人的灵活性。

还有一种对我很有效的方法:将所有数据发布为JSON,而不是发布键/值对。根据您的API客户,您可能能够做到这一点。我的API客户端是来自网页的jQueryAJAX调用。发送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查询中转义了所有字段名和列名。)

RESTfull API通过HTTP协议获取和发布数据。一个更进步的方法是使用WebSocket[Wikipedia]npm链接。尝试使用构建在Express.js上的Sails.js框架,该框架使用Socket.IO进行闪存数据传输

如果您使用的是MongoDB(带猫鼬):

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