Open In App

Express req.body Property

Last Updated : 14 Apr, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

The req.body property contains key-value pairs of data submitted in the request body. By default, it is undefined and is populated when you use a middleware called body-parsing such as express.urlencoded() or express.json(). 

Syntax:

req.body

Parameter: No parameters. 

Return Value: Object 

  • The req.body property is used to access the data sent by the client in POST requests.

Steps to Install the express module:

Step 1: You can install this package by using this command.

npm install express

Step 2: After installing the express module, you can check your express version in the command prompt using the command.

npm version express

Step 3: After that, you can just create a folder and add a file, for example, index.js. To run this file you need to run the following command.

node index.js

Project Structure:

NodeProj

Project Structure

The updated dependencies in package.json file will look like:

"dependencies": {
"express": "^4.21.2"
}

Example 1: Below is the code of req.body Property implementation.

javascript
const express = require('express');
const app = express();
const PORT = 3000;

// For parsing application/json
app.use(express.json());

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

app.post('/profile', function (req, res) {
    console.log(req.body);
    res.send();
});

app.listen(PORT, function (err) {
    if (err) console.log(err);
    console.log("Server listening on PORT", PORT);
});

Steps to run the program:

Run the index.js file using the below command:

node index.js

Now make a POST request to http://localhost:3000/profile with the following body:

{
"title":"Greetings from GeeksforGeeks"
}

Console Output: Now you can see the following output on your console:

Server listening on PORT 3000
{ title: 'Greetings from GeeksforGeeks' }

Example 2: Below is the code of req.body Property implementation.

javascript
const express = require('express');
const app = express();
const PORT = 3000;

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

app.post('/signup', function (req, res) {
    const data = req.body;

    console.log("Name: ", data.name);
    console.log("Age: ", data.age);
    console.log("Gender: ", data.gender);

    res.send();
});

app.listen(PORT, function (err) {
    if (err) console.log(err);
    console.log("Server listening on PORT", PORT);
});

Steps to run the program:

Run the index.js file using the below command:

node index.js

Now make a POST request to http://localhost:3000/signup with the following request body:

 {
"name": "Gourav",
"age": 13,
"gender":"Male"
}

Output: Now you will see the following output on your console screen:

Server listening on PORT 3000
Name: Gourav
Age: 13
Gender: Male

Middleware for Parsing Request Body

Express provides middleware to parse request bodies. The two most commonly used middleware are:

  • express.json(): Parses incoming JSON-formatted data in the body of the request.
app.use(express.json()); // Parses JSON request bodies
  • express.urlencoded(): Parses URL-encoded form data (typically used in HTML forms). The extended: true option allows parsing of complex objects like arrays.
app.use(express.urlencoded({ extended: true }))

Handling Large Request Bodies

Express’s default body parser has limits on the size of the incoming data. If you need to handle larger request bodies (for instance, for file uploads), you can configure the size limit in the middleware.

app.use(express.json({ limit: '10mb' }));  // Set the maximum body size to 10 MB
app.use(express.urlencoded({ extended: true, limit: '10mb' }));

Common Use Cases of req.body

  1. Form Submissions: Capturing data from forms (login, signup, etc.).
  2. API Requests: Handling JSON payloads sent by the client to interact with the server.
  3. File Uploads: Parsing file data from multi-part form submissions (although for this, you’d typically use additional middleware like multer).

Conclusion

The req.body property in Express is essential for accessing the data sent by the client in HTTP POST requests. By using middleware such as express.json() or express.urlencoded(), we can parse the request body into a readable format, making it easier to access key-value pairs of data. This property simplifies handling form submissions, API requests, and any other data passed in the body of a request.



Next Article

Similar Reads

  翻译: