Estoy haciendo una solicitud de publicación simple de la siguiente manera:
app.post('/', (req, res) => { return res.status(200).json(req.body) }) Cuando doy una solicitud de publicación a través del cartero, no aparece nada, es solo un {} vacío. Aquí está server.js :
const express = require("express"); const mongoose = require("mongoose"); const bodyParser = require("body-parser"); const passport = require("passport"); const app = express(); // Bodyparser middleware const users = require("./routes/api/users"); app.use( bodyParser.urlencoded({ extended: true }) ); app.use(bodyParser.json()); // DB Config const db = require("./config/keys").mongoURI; // Connect to MongoDB mongoose .connect( db, { useNewUrlParser: true } ) .then(() => console.log("MongoDB successfully connected")) .catch(err => console.log(err)); // Passport middleware app.use(passport.initialize()); // Passport config require("./config/passport")(passport); // Routes app.use("/api/users", users); const port = process.env.PORT || 3000; app.listen(port, () => console.log(`Server up and running on port ${port}`)); app.post('/', (req, res) => { return res.status(200).json(req.body) })Su cuerpo POST está vacío. Está utilizando parámetros de consulta en su solicitud de publicación. Haga clic en la pestaña Cuerpo en Postman y agregue el cuerpo de su solicitud allí.
{ "name": "abcxyz", "age" : 92 }Está utilizando parámetros de consulta
?nombre=abcxyz&edad=69
En su ejemplo, puede acceder a estos en express usando req.query :
app.post('/', (req, res) => { return res.status(200).json(req.query) })En las solicitudes, hay un par de formas de pasar datos, dos populares son:
Parámetros de consulta (los que pasó a través de Postman): estos parámetros se agregan a su URL mientras realiza la solicitud al servidor (lo que lo hace adecuado para algunos casos de uso y no tanto para otros), puede acceder a ellos en el backend usando req .consulta.
app.post('/', (req, res) => { return res.status(200).json(req.query) });Solicitar cuerpo (la forma en que está intentando acceder actualmente): para pasarlos a través de Postman, normalmente le gustaría pasar en formato JSON en la pestaña "cuerpo". puede acceder a los que usan req.body en su backend.
app.post('/', (req, res) => { return res.status(200).json(req.body) });