/ / ¿Tengo que usar bodyParser en nodejs? - node.js, express, middleware, body-parser

¿Tengo que usar bodyParser en nodejs? - node.js, express, middleware, body-parser

Estaba usando bodyParser.json () como middleware con Express y recientemente lo reemplacé con este código:

//gets any json object and put them in req.body
app.use((req, res, next) => {
let lang = req.acceptsLanguages()[0];
const decoder = new StringDecoder("utf-8");
req.on("data", function(data) {
try {
req.body = JSON.parse(decoder.write(data));
next()
} catch (ex) {

res.status(400).send(translator(lang, "entry.error.input.malformed"));
}
});
});

¿Tengo que usar bodyParser y agregar la biblioteca a mi proyecto? o mi código personalizado es suficiente para analizar e inyectar datos sin procesar como objeto Json en req?

Respuestas

1 para la respuesta № 1

Tu middleware personalizado no me parece correcto, lo usaría

app.use((req, res, next) => {
let lang = req.acceptsLanguages()[0];
let data = "";
req.on("data", chunk => data += chunk);
req.on("end", () => {
try {
req.body = JSON.parse(data);
next()
} catch (ex) {
res.status(400).send(translator(lang, "entry.error.input.malformed"));
}
});
});

Y sí, esto es suficiente, si espera, todas las solicitudes que llegan al servidor son de tipo JSON. Bodyparser básicamente hace lo mismo, excepto que, maneja muchos otros casos