As the image shown, BodyParser now is deprecated, how to correct the bodyParser syntax or statement to remove the line-through?
BodyParser is deprecated
Asked Answered
If you are using Express 4.16+ you don't have to import body-parser
anymore. You can do it just like this:
app.use(express.urlencoded({extended: true}));
app.use(express.json()) // To parse the incoming requests with JSON payloads
You are welcome!. And to use JSON you can just go with: app.use(express.json()) –
Olivette
Don't use body-parser
body parsing has become builtin with express
So, simply use
app.use(express.json()) //For JSON requests
app.use(express.urlencoded({extended: true}));
from directly express
You can uninstall body-parser using npm uninstall body-parser
Then you can simply get the POST content from req.body
app.post("/yourpath", (req, res)=>{
var postData = req.body;
//Or like this, for string JSON body
var postData = JSON.parse(req.body);
});
is
JSON.parse(req.body)
really needed as long as you used app.use(express.json())
? I tried to use JSON object properties without JSON.parse()
and it still works. –
Rafaelrafaela @Rafaelrafaela Yes it works directly as long as the request has a JSON format and you won't need to use
JSON.parse()
. But for requests that send JSON in a string form, you will have to use JSON.parse()
to get a usable JSON object. One example could be a frontend code that uses fetch
to send request to server and sends object as string using JSON.stringify()
–
Endodontics Same issue occur to my projects also . Now in latest express we don't need to import body-parse, we can just use express as follow.
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
or if you limit size
app.use(express.urlencoded({ limit: "50mb", parameterLimit: 500000000 }));
© 2022 - 2024 — McMap. All rights reserved.
body-parser
andnodejs
are you using? – Earing