2012-06-05 50 views
3

我有一个包含多个服务器(用Java编写)的设置,需要与中央服务器通信,每隔一段时间发布一次状态更新。这些状态更新将被写入数据库,可能是MongoDB/Mongoose,它将通过REST由Web端处理。我应该如何在Node.js中使用Web前端实现RESTful API?

我一直在寻找Restify和Express作为解决这个问题的两种方法。该网站将查询数据库以及REST API。

我该如何解决这个问题?我是否应该同时使用Restify和Express来创建带有API的网站?我应该使用铁路吗?谢谢。

回答

4

它没有意义的,使用复杂的框架,如铁路,这是建立在快速的顶部,并试图像Ruby on Rails的。

您应该选择Express或Restify,而不是两者。

我会选择Express over Restify,因为代码有很好的文档记录,并且库更成熟和大量使用。你可以找到一些有关如何使用Express制作这样的应用程序的有用教程,并且API非常好:

var express = require('express') 
    , app = express.createServer(); 

var users = [{ name: 'tj' }]; 

app.all('/user/:id/:op?', function(req, res, next){ 
    req.user = users[req.params.id]; 
    if (req.user) { 
    next(); 
    } else { 
    next(new Error('cannot find user ' + req.params.id)); 
    } 
}); 

app.get('/user/:id', function(req, res){ 
    res.send('viewing ' + req.user.name); 
}); 

app.get('/user/:id/edit', function(req, res){ 
    res.send('editing ' + req.user.name); 
}); 

app.put('/user/:id', function(req, res){ 
    res.send('updating ' + req.user.name); 
}); 

app.get('*', function(req, res){ 
    res.send('what???', 404); 
}); 

app.listen(3000); 
2

我个人发现express.js以满足我的需求,因为它的路由功能非常棒。检出http://expressjs.com/guide.html#routing。它为RESTful api完成了工作,速度非常快。

也:Node-PerfectAPI vs Restify.js vs ExpressJS vs Node-APIServer

+0

感谢您的回应!你知道我怎么可以验证我的服务器之一是发送它而不是另一个客户端?我正在考虑在请求中发送某种密钥,但我不确定这是否是一种好的做法。 –

相关问题