How to req body in node js | How do I get a body in Express req?

In Node.js, the request body can be accessed using the ‘req.body’ object, which contains the parsed data sent in the HTTP request body. Here’s how you can access the request body in Node.js using various methods:

  1. Using the ‘body-parser’ middleware:

You can use the ‘body-parser’ middleware to parse the request body in Node.js. Here’s an example:

const express = require('express');
const bodyParser = require('body-parser');

const app = express();
app.use(bodyParser.json()); // for parsing application/json
app.use(bodyParser.urlencoded({ extended: true })); // for parsing application/x-www-form-urlencoded

app.post('/example', (req, res) => {
  const requestBody = req.body; // Access the request body
  // Do something with the request body
  res.send('Request body received: ' + JSON.stringify(requestBody));
});

app.listen(3000, () => {
  console.log('Server started on http://localhost:3000');
});
  1. Using the ‘express.json()’ and ‘express.urlencoded()’ middlewares (Express 4.16+):

Starting from Express version 4.16+, the ‘express.json()’ and ‘express.urlencoded()’ middlewares are built-in, so you don’t need to install the ‘body-parser’ package separately. Here’s an example:

const express = require('express');

const app = express();
app.use(express.json()); // for parsing application/json
app.use(express.urlencoded({ extended: true })); // for parsing application/x-www-form-urlencoded

app.post('/example', (req, res) => {
  const requestBody = req.body; // Access the request body
  // Do something with the request body
  res.send('Request body received: ' + JSON.stringify(requestBody));
});

app.listen(3000, () => {
  console.log('Server started on http://localhost:3000');
});

Note: Make sure to include the middleware before handling the route that requires access to the request body.

  1. Using the ‘querystring’ module for ‘application/x-www-form-urlencoded’ data:
Read More  Instagram पर Like कैसे बढ़ाएं(How to get likes on Instagram)

If you’re specifically expecting ‘application/x-www-form-urlencoded’ data in the request body, you can use the ‘querystring’ module that comes with Node.js to parse the request body. Here’s an example:

Join
const http = require('http');
const querystring = require('querystring');

const server = http.createServer((req, res) => {
  if (req.method === 'POST') {
    let body = '';
    req.on('data', (chunk) => {
      body += chunk.toString();
    });

    req.on('end', () => {
      const requestBody = querystring.parse(body); // Parse the request body
      // Do something with the request body
      res.end('Request body received: ' + JSON.stringify(requestBody));
    });
  } else {
    res.end('Hello World!');
  }
});

server.listen(3000, () => {
  console.log('Server started on http://localhost:3000');
});

These are some of the ways to access the request body in Node.js. Choose the method that best fits your use case and the version of Express you are using.