使用Mongo和Node构建一个简单的RESTful API

时间:2013-11-11 19:26:26

标签: node.js mongodb mongoose

所以我正在使用最近从Rails切换到Node的项目,其中我最喜欢的一个功能是创建一个简单的REST API是多么容易,如下所示:

  • localhost:3000/materials/ 获取所有对象的JSON文档 内幕材料
  • localhost:3000/materials/:id 获取对象的JSON输出 那个id,例如/ materials / 123123给了我项目123123
  • localhost:3000/materials/ 获取所有对象的JSON文档 内幕材料

等等。我正在使用Mongo。有没有办法在Node中执行此操作,或者是否应该安装可以执行此操作的指南或程序包?

4 个答案:

答案 0 :(得分:0)

从StrongLoop Suite查看LoopBack,它有一个内置的RESTful api资源管理器,可以使用mongodb连接器与Mongo交互。 http://docs.strongloop.com/loopback/#using-the-api-explorerhttp://strongloop.com/strongloop-suite/loopback/

例如,您可以使用以下命令创建“材料”模型: slc lb model materials然后在localhost:3000 / explorer上为你自动生成restful api。

答案 1 :(得分:0)

您可以使用Restify在Node.js中构建RESTful Web服务

一个很好的教程:https://www.openshift.com/blogs/day-27-restify-build-correct-rest-web-services-in-nodejs

答案 2 :(得分:0)

Express似乎就是你想要的。您可以非常简单地指定路线,如下所示:

app.get('/:collection', function(request, response) {
  // the value of :collection is stored in request.params
  var coll = request.params.collection;
  var search = request.query; // a hash containing the querystring arguments
  // do stuff with request body, query parameters, etc.
  response.send(data); // send the response
});

app.get('/:collection/:item', function(request, response) {
  var coll = request.params.collection;
  var item = request.params.item;
  // do stuff
  res.json(data); // can also send a JSON response
});

答案 3 :(得分:0)

看看restgoose。它是一个Typescript库,使简单的REST API开发变得非常简单。

https://xurei.github.io/restgoose/