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
我们正在构建一个向客户端公开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
- AngularJS在不使用变量的情况下将服务注入模块中,这样就可以缩小它
- 如何在公共js模块中从web服务返回数据
- 从函数内部、类内部、模块内部访问 Angular 服务
- 角度依赖注入,使用服务在模块之间传递值
- 从 Angular 控制器访问不同模块中的角度服务
- AngularJS在自定义服务中使用角度模块
- 使用在另一个服务方法中声明为模块模式的服务方法之一
- 如何测试名为“示例”的 Angular 服务.Svc' 在我的模块中使用 mocha+chai
- ES2015 单例或服务提供商或模块,用于敲除.js组件
- 在两个不同的模块和两个不同的js文件之间共享服务
- 角度模块中的全局通信:事件总线或调解器模式/服务
- 角度依赖注入,如果将控制器、服务等分离到单独的模块中
- 替换 AngularJS 中的模块或服务
- 角度、服务和模块依赖性混淆
- 将angular服务与es6模块一起使用有意义吗
- requirejs:从web服务加载脚本/模块
- 如何在模块配置中使用Angular.js服务实例并保持相同的实例
- 如何在angular js中将服务从一个模块调用到另一个模块服务
- 如何使用babel为我的js服务模块实现经过身份验证的es 7装饰器
- 返回角度服务模块中的角度承诺