Express app.post 请求未响应 Postman POST 请求

Express app.post request not responding to Postman POST request

我正在尝试使用 Postman 向我的 Express 应用发出一个简单的 POST 请求,但是 post 请求超时。

请求如下:

这是应用程序:

import express from 'express'
import bodyParser from 'body-parser'
import path from 'path'

const app = express()

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

app.post('/', (req,res) => {
  console.log(req.body)

  if (req.body.inviteCode === "12") {
      res.json({value: "success"}) 
  } else {
      res.json({value: "fail"})
  }
})

app.listen(process.env.PORT || 3000, () => {
  console.log(`App listening on ${process.env.PORT || 3000}`)
})

console.log(req.body) 打印出一个空对象 {}

知道可能出了什么问题吗?

您没有在 Postman 的 POST 参数中包含 inviteCode(如您的屏幕截图所示,"Body" 选项卡下的 key-value 条目),而是您将 inviteCode 作为 URL 查询参数传递,该参数将在 req.query.inviteCode.

中设置

要从查询参数(在 URL 中)使用它,匹配您的 Postman 请求:

app.post('/', (req,res) => {
  req.query.inviteCode === "99" ? res.json({value: "success"}) : res.json({value: "fail"})
})

或者在 POST 正文中使用它,这需要修复您的 Postman 请求:

app.post('/', (req,res) => {
  console.log(req.body)

  req.body.inviteCode === "99" ? res.json({value: "success"}) : res.json({value: "fail"})
})