NodeJS - Express 无法读取应用程序/json 数据

问题描述 投票:0回答:2

我第一次尝试设置 NodeJS Express JSON REST API,但在尝试检索来自请求(GET 和 POST 请求)的 JSON 数据时遇到一些麻烦

这是代码:

var bodyParser = require("body-parser");
const express = require("express");

const app = express();

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
    extended: true
}));

app.get("/prova", (req, res)=>{
    console.log(req.headers["content-type"]);
    console.log(req.body);
    res.status(200).json(req.body);
});

这是console.log(); 当尝试使用 Postman 发出带有某些参数的请求时:

application/json
{}

这是邮递员请求的详细信息

javascript node.js json express jsonparser
2个回答
1
投票

您应该避免按照

MDN Web 文档
使用 HTTP GET 方法发送 body。至于显示的 GET 方法,这一行
res.status(200).json(req.body);
为您提供了一个空对象,例如将其更改为
res.status(200).json({message:"Hello world!"});
以查看消息。对于 POST 方法,您可以像使用
body
一样访问
req.body


0
投票

您缺少仅解析 json 且仅查看 Content-Type 标头与类型选项匹配的请求的快速中间件。

app.use(express.json());
© www.soinside.com 2019 - 2024. All rights reserved.