[英]Resource based routing module used in a Node.js REST API service, or other useful modules for this type of service
我们正在构建一个向客户端公开REST Api的服务,并且正在使用jugglingdb创建模型并表示为服务器。.我想知道在node.js中创建RESTful API时是否有有用的模块
我尝试使用Restify,但它似乎只是Express的简化版本,似乎缺少Express所需的某些功能,因此我改用Express。
编辑:我们没有前端。 因此,我们严格来说是一个REST API服务,仅为各种客户端提供数据
一种考虑的方法是保持事物的轻便和简单。 如果没有前端,则可以单独使用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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.