request data in express
Request Data in Express
If you want to extract data from a request in Express, you can do so by accessing the req.body property. To use this property, you need to install and use the body-parser middleware.
Installing Body-Parser
To install body-parser, run the following command:
npm install body-parser --save
Using Body-Parser
To use body-parser, require it in your server file and add it as middleware before your routes:
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
// Your routes here
The urlencoded middleware parses incoming requests with urlencoded payloads and is based on querystring library. The extended option allows to choose between parsing the URL-encoded data with the qs library (when set to false) or the native querystring library (when set to true). The default value is true.
The json middleware parses incoming requests with JSON payloads.
Accessing Request Data
After you have installed and used body-parser, you can access request data from req.body. For example:
app.post('/submit-form', (req, res) => {
console.log(req.body);
res.send('Received data');
});
In the above code snippet, we have defined a route that listens for a POST request to /submit-form. When a request is made to this route, we log the request data to the console and send a response to the client.
You can also use the req.query object to access query parameters from the URL:
app.get('/search', (req, res) => {
console.log(req.query);
res.send('Received search query');
});
In the above code snippet, we have defined a route that listens for a GET request to /search. When a request is made to this route, we log the query parameters to the console and send a response to the client.