我是 Restful 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
但是我的帖子不起作用。我正在使用 postman 并输入以下内容:
这是我的 post 请求的服务器代码:
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 数据库中。我想也许我在 postman 中使用的网址有问题。当我在 postman 中提交时,它只是说无法发布/api/movies/junglebook 有什么想法吗?
最佳答案
非常感谢你,布莱兹!我没有看到缺少的正斜杠;也谢谢你 chridam,它确实在没有请求参数的情况下工作!毕竟我不需要 movie.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();
});
关于node.js - 我在 postman 中使用什么 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37077163/