【问题标题】:Using Postman to test my node.js program使用 Postman 测试我的 node.js 程序
【发布时间】:2021-01-01 22:02:30
【问题描述】:

我正在使用 Chrome 的扩展 Postman 来测试我的 Node.js(express 模块)程序。基本上,我希望我的程序允许用户在 Postman 上输入,并根据用户输入从程序中的某个位置检索信息。

所以程序通过 Postman(原始代码)接收我的用户输入,比如说

    [{ID:0, image:tiger.jpg},
     {ID:1, image:cat.jpg},
     {ID:2, image:dog.jpg}]

然后我的代码将仅处理用户输入的 ID(无论图像如何),并获取与这 3 个 ID 关联的对象字符串。获取字符串后,我的程序将发送一个 HTTP 请求以将检索到的对象打印到我的本地主机服务器。我如何能够使用 express 的 POST 和 GET 方法来实现这一点。何时使用 post/get?我是否使用 post 接收输入?并使用 get 从程序中检索数据?

以下是我想包括的一些功能..

    app.post('/', express.bodyParser(), function (req, res) {

有人建议这样做。有人能告诉我这个函数是否可以接收来自 Postman 的输入吗?我注意到这个方法可能会改变 req.body?但我真的不明白它是如何改变和解析输入的。

问题太多了,我提前道歉。基本上,我只需要知道如何根据描述编写程序,其余的我会自己弄清楚!

谢谢!

【问题讨论】:

  • 一般来说,一个好的 StackOverflow 问题只包含一个问题。您可能想尝试拆分它们。

标签: node.js http post get express


【解决方案1】:

将 POSTMAN 与 Raw 标头一起使用。这是我的后期测试

var express = require('express');
var mongoose = require('mongoose');
var db = mongoose.connect('mongodb://localhost/usersdb');
var bodyParser = require('body-parser');
var app = express();

//Third-party middelware
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
    extended: true
}));

app.post('/users', function (req, res) {
    console.log(req.body);
    res.status(200).send(req.body);
});

var port = process.env.PORT || 3000;
app.listen(port);
console.log('Listening on http://localhost:' + port);

【讨论】:

    【解决方案2】:

    bodyParser middleware 能够解析您POSTed 的 JSON 数据。数据放入req.body。一个例子:

    app.post('/', express.bodyParser(), function (req, res) {
        res.end('First ID: ' + req.body[0].ID);
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-10
      • 2021-08-25
      • 2011-11-24
      • 1970-01-01
      • 2016-11-02
      • 2020-12-31
      • 2018-01-10
      • 2019-12-18
      相关资源
      最近更新 更多