2
respostas

é preciso importar o body-parser?

não entendi muito bem a atuação deste middleware do express no caso do body-parser estar "deprecated"

mas o que me parece é que, como já importei o express e ele pode substituir o bodyParser no código, importar e usar o body-parser é inútil (?)

não recebi esse erro que a plataforma menciona que pode acontecer, mas fiz o teste de substituir

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

por

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

e tudo segue funcionando normalmente, sem erros..

o body-parser caiu em desuso totalmente ou o middleware do express que está mais inteligente e já corrige antes mesmo de fazer a substituição do bodyParser

2 respostas

Boa tarde! Tenho a mesma dúvida do colega... existe ainda alguma situação em que seria necessário o uso do body-parser?

Ou esse middleware do express (eu pesquisei está disponível da versão 4.16 em diante) já cobre todos os casos, tornando o body-parser inútil?

Grato pela atenção!

Salve caique!

essa mensagem do body-parser estar deprecated só aparece se você não especificar qual interpretador do bodyparser você vai utilizar.

hoje em dia para utilizar o body-parser você tem que importar ele e depois chamar ele no express.use(), especificando qual interpretador você vai usar:

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

app.use(bodyParser.json()); // chamei o body parser dizendo que ele vai ler oque vier no formato JSON, caso for XML ou qualquer outro tipo, ele nao vai interpretar.

Caso você queira usar mais de um interpretador é só colocar novamente app.use(bodyParser.interpretador);

O uso do bodyParser é um costume na verdade. A um tempo atrás o express não tinha um interpretador nativo, por isso usava-se o bodyParser, hoje em dia não há necessidade de usar bodyParser. Basta trocar bodyParser.json por express.json como você já tinha feito.