我在邮递员中为我的 URL 使用啥?
Posted
技术标签:
【中文标题】我在邮递员中为我的 URL 使用啥?【英文标题】:What do I use for my URL in postman?我在邮递员中为我的 URL 使用什么? 【发布时间】:2016-09-01 19:25:39 【问题描述】:我是 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
但我的帖子不起作用。我正在使用邮递员并输入以下内容: 这是我的发布请求的服务器代码:
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 有什么想法吗?
【问题讨论】:
您还没有编写代码来将您的帖子数据写入 MongoDB,例如movies.insert(insData, function (err, result) ... );
您能分享 POST 请求和响应标头吗?
@chridam 我刚刚用插入更新了我的代码,但我仍然在邮递员中得到同样的东西..
你在app.post
路由前面错过了/
。
您不需要帖子的请求参数,因为您正在插入数据(除非您想进行隐式更新,可以使用app.put
完成)。尝试将 API 路由更改为 app.post('api/movies/', function(request, response) ...
,然后在您的帖子中使用您的帖子数据执行 http://yoururl/api/movies/
。
【参考方案1】:
非常感谢 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();
);
【讨论】:
以上是关于我在邮递员中为我的 URL 使用啥?的主要内容,如果未能解决你的问题,请参考以下文章
我可以在 Phonegap Build 中为 iOS 定义自定义 URL 方案吗?