我是新来的宁静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
但我的帖子不起作用。我正在使用邮递员并输入以下内容:
这是我的帖子请求的服务器代码:
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任何想法?
答案 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();
});