我有一个由多个服务器(用 Java 编写)组成的设置,这些服务器需要与中央服务器通信,每隔一段时间发布一次状态更新。这些状态更新将被写入数据库,可能是 MongoDB/Mongoose,它将由 Web 端通过 REST 处理。
我一直将 Restify 和 Express 作为解决此问题的两种方法。该网站将查询数据库以及 REST api。
我应该如何处理这个?我应该同时使用 Restify 和 Express 来创建一个带有 API 的网站吗?我应该使用铁路吗?谢谢。
我有一个由多个服务器(用 Java 编写)组成的设置,这些服务器需要与中央服务器通信,每隔一段时间发布一次状态更新。这些状态更新将被写入数据库,可能是 MongoDB/Mongoose,它将由 Web 端通过 REST 处理。
我一直将 Restify 和 Express 作为解决此问题的两种方法。该网站将查询数据库以及 REST api。
我应该如何处理这个?我应该同时使用 Restify 和 Express 来创建一个带有 API 的网站吗?我应该使用铁路吗?谢谢。
使用像 Rails 这样的复杂框架是没有意义的,它建立在 Express 之上并试图类似于 Ruby on Rails。
您应该选择 Express 或 Restify,而不是同时选择两者。
我会选择 Express 而不是 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);
我个人认为 express.js 可以满足我的需求,因为它的路由功能非常棒。查看http://expressjs.com/guide.html#routing。它可以完成 RESTful api 的工作,而且速度非常快。
还有:Node-PerfectAPI vs Restify.js vs ExpressJS vs Node-APIServer