我该如何在Node.js中实现一个带有Web前端的RESTful API?

3

我有一个由多个Java服务器组成的设置,需要定期向中央服务器发送状态更新。这些状态更新将被写入数据库,可能是MongoDB/Mongoose,并通过REST由Web端处理。

我一直在研究Restify和Express两种方法来解决这个问题。网站将查询数据库以及REST API。

我应该如何解决这个问题?我应该同时使用Restify和Express创建具有API的网站吗?还是应该使用Railway?谢谢。

2个回答

4

使用一个建立在Express之上,试图类似于Ruby on Rails的复杂框架Railway是没有意义的。

你应该选择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); 

2

1
谢谢您的回复!您知道我如何验证是我的一个服务器发送它而不是另一个客户端吗?我在考虑在请求中发送某种秘密密钥,但我不确定这是否是一个好的做法。 - Ian Macalinao

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接