freeCodeCamp Challenge Guide: Use body-parser to Parse POST Requests

Use body-parser to Parse POST Requests


Problem Explanation

The body-parser should already be added to your project if you used the provided boilerplate, but if not it should be there as:

"dependencies": {
    "body-parser": "^1.19.0",
    
    "express": "^4.17.1"
}

You can run npm install body-parser to add it as a dependency to your project instead of manually adding it to the package.json file.

This guide assumes you have imported the body-parser module into your file as bodyParser.

In order to import the same, you just need to add the following line at the top of your file:

var bodyParser = require("body-parser");

All you need to do for this challenge is pass the middleware to app.use(). Make sure it comes before the paths it needs to be used on. Remember that body-parser returns with bodyParser.urlencoded({extended: false}). Use the following as a template:

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

In order to parse JSON data sent in the POST request, use bodyParser.json() as the middleware as shown below:

app.use(bodyParser.json());

The data received in the request is available in the req.body object.

Do not forget that all these statements need to go above any routes that might have been defined.

6 Likes