我们正在构建一个向客户端公开REST Api的服务,我们正在使用jugglingdb创建模型并表达为服务器..我想知道在节点中创建RESTful API时是否有任何有用的模块的.js
我尝试使用restify但它似乎只是一个淡化版本的快递,似乎缺少一些我需要的快递,所以我切换到快递。
编辑:我们没有前端。所以我们严格来说是一个为各种客户提供数据的rest api服务答案 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