/ / Czy muszę używać bodyParser w nodejs? - node.js, express, middleware, body-parser

Czy muszę używać bodyParser w nodejs? - node.js, express, middleware, body-parser

Użyłem bodyParser.json () jako oprogramowania pośredniego z express i ostatnio zastąpiłem go tym kodem:

//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"));
}
});
});

Czy muszę używać bodyParser i dodawać bibliotekę do mojego projektu? lub mój niestandardowy kod jest wystarczający do przeanalizowania i wstrzyknięcia surowych danych jako obiektu Json w pytaniu ??

Odpowiedzi:

1 dla odpowiedzi № 1

Twoje niestandardowe oprogramowanie pośrednie nie wydaje się właściwe, używałbym

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"));
}
});
});

I tak, jeśli tego oczekujesz, wystarczy, że wszystkie żądania przychodzące na serwer będą typu JSON. bodyparser zasadniczo robi to samo, poza tym, że obsługuje wiele innych przypadków