我在邮递员中为我的 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 使用啥?的主要内容,如果未能解决你的问题,请参考以下文章

如何在前置脚本请求中为邮递员请求添加请求参数

使用 Flutter 测试 Firebase 云消息传递

我可以在 Phonegap Build 中为 iOS 定义自定义 URL 方案吗?

如何在我的 podfile 中为我的 Xcode 项目指定多个目标?

如何在 Gatsby 中为我的可重用组件返回特定图像?

如何在 Prism 中为我的对话窗口设置区域管理器?