Неопределенные значения в req.body - PullRequest
1 голос
/ 12 апреля 2020

Когда я хочу сделать POST-запрос, используя Postman, где я уже установил тип содержимого на application / json и я console.log req.body.name или sth, иначе возвращается только undefined, Вот код:
index. js

const app = express();
const mongoose = require("mongoose");
const dotenv = require("dotenv");

const authRoute = require("./routes/auth");

dotenv.config();

mongoose.connect(
  process.env.DB_CONNECT,
  { useNewUrlParser: true, useUnifiedTopology: true },
  () => console.log("connected to mongoDB")
);

// Middleware
app.use(express.json());

// Routes
app.use("/api/user", authRoute);

// Run Server
const PORT = 5000;
app.listen(PORT, () => console.log(`server running on port ${PORT}`));

auth. js

const router = require("express").Router();
const User = require("../model/User");

router.post("/register", async (req, res) => {
  const user = new User({
    name: req.body.name,
    email: req.body.email,
    password: req.body.password,
  });
  console.log(req.body.name);
});

module.exports = router;

Ответы [ 3 ]

0 голосов
/ 12 апреля 2020

Поскольку вы не используете анализатор тела и используете только express. json () отправляйте запросы как raw , затем выбирайте JSON. Формат, который вы должны написать, выглядит следующим образом:

{ "name": "Some name", "lastname": "...." }

Вот как должен выглядеть ваш почтальон:

enter image description here

0 голосов
/ 12 апреля 2020

просто добавьте эти строки после // Middleware

app.use(express.json());

например // Middleware

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

Этот параметр express позволит вам проанализировать html -body

0 голосов
/ 12 апреля 2020

Установите анализатор тела как:

npm install --save body-parser

, а затем обновите индекс. js файл как:

var bodyParser = require('body-parser')
app.use( bodyParser.json() );       // to support JSON-encoded bodies
app.use(bodyParser.urlencoded({     // to support URL-encoded bodies
  extended: true
})); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...