node.js - 使用 POST 请求传递 JSON 数据后无法从 Postman 获得响应响应
问题描述
我正在使用包含电子邮件和密码的 JSON 数据从 Postman 发出 POST 请求,但是当我试图在 Postman 的响应窗口中显示它时,它什么也没显示。
似乎 POST 请求没有通过请求发送 JSON 数据,或者我在访问请求数据时可能出错了。
这是我的代码:
const express = require("express");
const app = express();
const database = {
users: [
{
id: "1234",
name: "john",
email: "john@gmail.com",
password: "john",
entries: 0,
joined: new Date()
},
{
id: "123",
name: "sally",
email: "sally@gmail.com",
password: "sally",
entries: 0,
joined: new Date()
}
]
};
app.get("/", (req, res) => {
res.send("This is working Get");
});
app.post("/signin", (req, res) => {
res.json(req.body);
});
app.listen(3000, () => {
console.log("Server Started at port number 3000");
});
解决方案
第 1 步:
如果您使用的是发出请求,raw(application/json)
那么您需要在 npm 下安装它将解析您的请求数据,
npm install body-parser --save
请通过以下链接获取更多信息:
https://www.npmjs.com/package/body-parser
第 2 步: 您需要在服务器文件中添加以下行
var bodyParser = require("body-parser");
app.use(bodyParser.urlencoded({
extended: false
}));
app.use(bodyParser.json())
第 3 步:集成后,bodyParser
您可以使用req.body
这是您的解决方案代码:
var express = require("express");
var bodyParser = require("body-parser");
var app = express();
const database = {
users: [{
id: "1234",
name: "john",
email: "john@gmail.com",
password: "john",
entries: 0,
joined: new Date()
},
{
id: "123",
name: "sally",
email: "sally@gmail.com",
password: "sally",
entries: 0,
joined: new Date()
}
]
};
app.use(bodyParser.urlencoded({
extended: false
}));
app.use(bodyParser.json())
app.post("/signin", (req, res) => {
res.json(req.body);
});
app.listen(8080, () => {
console.log("Server has been started");
});
推荐阅读
- css - 使用 bulma 框架时如何修改填充、边距和其他 css 属性?
- rest - 未处理的异常:类型“int”不是类型转换中“String”类型的子类型
- java - 使用全局变量反转二叉树时出现stackoverflow错误
- php - 将帖子添加到购物车
- android - React-Native 更改 iOS 和 Android 文件夹的默认位置
- python - 带有数组的 for 循环中的项目和字典
- reactjs - Redux saga:编写 sagas
- java - Lock 是否在单个线程上作为布尔信号量工作?
- sql - 选择具有唯一列值的行
- ios - 用颤振在 iPhone 上运行程序