如何使用post方法通过postman工具发送JSON数据?

时间:2017-12-04 09:18:32

标签: json node.js express postman

我正在尝试获取一个JSON数据,该数据使用postman工具作为JSON数据发送,并尝试接收我的post()方法。

    var express = require('express');
    var app = express();

    app.post('/myData',function(req,res){
        console.log("--->",req.body);
    });

var server = app.listen(8080,function(){});

This is the JSON data sent through postman tool

我在我的控制台中未定义为 “---> undefined”

Control type is set

我正在尝试将邮差工具中的JSON数据集检索到我的控制台或浏览器

This is the error in terminal

3 个答案:

答案 0 :(得分:1)

校正。请尝试运行此代码。

var express = require('express');
var app = express();

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

    req.on('data', function (data) {
        console.log("--->",data.toString());
        res.send("Received");
    });
});

var server = app.listen(8080, function () { });

答案 1 :(得分:0)

在app.post方法中添加 res.send(req.body);

    app.post('/myData',function(req,res){
        console.log("--->",req.body);
        res.send(req.body);
    });

答案 2 :(得分:0)

Express通常使用名为 body-parser 的中间件来解析收到的JSON内容。如果您未启用 body-parser 或类似内容,req.body将为空。 body-parser 内置了最新版本的Express。它是这样启用的:

app.use(express.urlencoded({ extended: false }));
app.use(express.json());

所以最终的代码是这样的:

var express = require('express');
var app = express();

app.use(express.urlencoded({ extended: false }));
app.use(express.json());

app.post('/myData',function(req,res){
    console.log("--->", req.body);
    res.send('data received');
});

var server = app.listen(8080,function(){});

我还添加了res.send('data received');,因为您应该在有效端点上收到请求时发送回复。