/ / क्या मुझे बॉडी पार्सर को नोडजेज़ में उपयोग करना है? - node.js, एक्सप्रेस, मिडलवेयर, बॉडी पार्सर

क्या मुझे बॉडी पार्सर को नोडज में उपयोग करना है? - node.js, एक्सप्रेस, मिडलवेयर, बॉडी पार्सर

मैं bodyParser.json () को एक्सप्रेस के साथ एक मिडलवेयर के रूप में उपयोग कर रहा था और मैंने हाल ही में इसे इस कोड से बदल दिया:

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

क्या मुझे बॉडी पार्सर का उपयोग करना है और पुस्तकालय को अपनी परियोजना में जोड़ना है? या मेरा कस्टम कोड रीड में जेसन ऑब्जेक्ट के रूप में कच्चे डेटा को पार्स और इंजेक्ट करने के लिए पर्याप्त है ??

उत्तर:

उत्तर № 1 के लिए 1

आपका कस्टम मिडलवेयर सही नहीं लगता है, मैं उपयोग करता हूं

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

और हाँ यह पर्याप्त है, अगर आप उम्मीद करते हैं, सर्वर में आने वाले सभी अनुरोध JSON प्रकार के होने के लिए आते हैं। बॉडीपार्सर मूल रूप से वही करता है, सिवाय इसके कि, यह कई अन्य मामलों को संभालता है