我在postman中使用什么URL?

时间:2016-05-06 16:22:49

标签: node.js mongodb rest express postman

我是新来的宁静api,试图学习它们。我创建了一个mongo数据库,并在cloud9中使用它。我的请求有效:

app.get('/api/movies/:moviename', function(request, response) {
  movies.find({Title: "avatar"}, {Title: 1, _id: 0}).toArray(function(err, results) { 
    // in here you have a results variable [array] with your results
    response.write(JSON.stringify({data: results}));
    response.end();
  }); // ends students find toArray
}); // end app get handler

但我的帖子不起作用。我正在使用邮递员并输入以下内容: postmandcapture
这是我的帖子请求的服务器代码:

app.post('api/movies/:moviename', function(request, response) {
  var movieName = request.params.moviename;
  response.writeHead(200, {"Content-type": "application/json"});
  var insData = request.body;
  movies.insert(insData).toArray(function (err, result) {
    if(!err){
      response.write(JSON.stringify(insData));
    }else{
      response.write("no data");
    }
    response.end();
  });
});

我只是想将另一部电影作为json对象添加到我的mongo数据库中。我想也许我在邮递员中使用的网址是问题所在。当我在邮递员提交时,它只是说不能发布/ api / movies / junglebook任何想法?

1 个答案:

答案 0 :(得分:0)

非常感谢Blaze!我没有看到错过正斜线;并且谢谢chridam,它确实没有请求参数!我毕竟不需要movies.insert函数,这对我有用,现在它在数据库中:

app.post('/api/movies/:moviename', function(request, response) {
  var movieName = request.params.moviename;
  response.writeHead(200, {"Content-type": "application/json"});
  var insData = request.body;
  response.write(JSON.stringify(insData));
  response.end();
});