gpt4 book ai didi

node.js - 我必须在nodejs中使用bodyParser吗?

转载 作者:太空宇宙 更新时间:2023-11-03 22:08:37 27 4
gpt4 key购买 nike

我使用 bodyParser.json() 作为 Express 的中间件,最近用以下代码替换了它:

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

我是否必须使用 bodyParser 并将库添加到我的项目中?或者我的自定义代码足以解析原始数据并将其作为 Json 对象注入(inject) req??

最佳答案

您的自定义中间件似乎不太正确,我会使用

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 类型。 bodyparser 基本上做同样的事情,除了它处理很多其他情况

关于node.js - 我必须在nodejs中使用bodyParser吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49004844/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com