【发布时间】:2021-08-21 12:01:00
【问题描述】:
我正在尝试捕获 Postman 发送的正文中的原始数据。这是原始数据:
{
"hello": "world"
}
我在服务器中使用app.use(express.json())。当我发送 post 请求时,我只得到一个空的 JSON。为什么会这样?
App.js 代码:
import express from "express"
import { connectDb } from "./connectDb.js"
import create from "./routes/create.js" // router
const app = express()
app.use(express.json())
connectDb()
const PORT = process.env.PORT || 5000
app.use("/api", create)
app.listen(PORT, () => console.log(PORT, "Connected..."))
路由器代码:
import express from "express"
import Game from "../models/gamesModel.js" // mongoose model
const router = express.Router()
router.route("/create/game").post(async (req, res) => {
console.log(req.body)
try {
const game = await Game.create(req.body)
res.json(game)
} catch (error) {
res.json({ message: "Invalid Information" })
}
})
【问题讨论】:
-
我们需要一些代码
-
@AndreyPopov 已更新...
-
这是你的路由器。您需要展示您的服务器是如何设置的,以及您如何发送您的请求...
-
它在主javascript文件(app.js)中,在路由器代码之前使用。
-
如果您没有设置 headers ,使用 Postman 来测试带有 JSON 数据的 HTTP post 操作,选择 raw 选项并设置以下 header 参数
Content-Type: application/json
标签: node.js json express request postman