我应该如何在Node.js中使用Web前端实现RESTful API?

时间:2012-06-05 21:14:54

标签: node.js rest express railway.js restify

我有一个由多个服务器(用Java编写)组成的设置,需要与中央服务器通信,每隔一段时间发布一次状态更新。这些状态更新将被写入数据库,可能是MongoDB / Mongoose,它将由Web端通过REST处理。

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

我该如何处理?我应该使用Restify和Express来创建一个带有API的网站吗?我应该用铁路吗?感谢。

2 个答案:

答案 0 :(得分:4)

使用像Railway这样的复杂框架是没有意义的,它构建在Express之上,并试图类似于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); 

答案 1 :(得分:2)

我个人认为express.js能够满足我的需求,因为它的路由功能很棒。查看http://expressjs.com/guide.html#routing。它可以完成RESTful api的工作并且非常快。

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