body-parser 忽略了 type 参数。
创始人
2024-12-23 07:00:13
0

在使用 body-parser 解析请求体时,可以通过设置 type 参数来指定要解析的请求体的类型。但是有时候 body-parser 会忽略 type 参数,导致解析出错。

以下是一个解决方法的示例代码:

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

const app = express();

// 解析 application/json 类型的请求体
app.use(bodyParser.json());

// 解析 application/x-www-form-urlencoded 类型的请求体
app.use(bodyParser.urlencoded({ extended: false }));

// 自定义中间件,用于解析 text/plain 类型的请求体
app.use((req, res, next) => {
  if (req.is('text/*')) {
    req.text = '';
    req.setEncoding('utf8');
    req.on('data', (chunk) => {
      req.text += chunk;
    });
    req.on('end', () => {
      next();
    });
  } else {
    next();
  }
});

// 路由处理程序
app.post('/', (req, res) => {
  console.log(req.body); // 输出请求体内容
  res.send('Success');
});

app.listen(3000, () => {
  console.log('Server is running on port 3000');
});

在上面的示例代码中,我们首先使用 bodyParser.json()bodyParser.urlencoded() 中间件来解析 application/json 和 application/x-www-form-urlencoded 类型的请求体。

然后,我们添加了一个自定义的中间件,用于解析 text/plain 类型的请求体。这个中间件判断请求类型是否为 text/*,如果是的话,就以文本形式解析请求体,并将解析后的文本保存在 req.text 中。

最后,我们添加了一个路由处理程序,用于处理 POST 请求。在处理程序中,我们可以通过 req.body 访问解析后的请求体内容。

相关内容

热门资讯

七分钟辅助!丽水茶苑苹果手机辅... 七分钟辅助!丽水茶苑苹果手机辅助,本来是真的有辅助教程(有挂方式)1、实时丽水茶苑苹果手机辅助透视辅...
第一分钟辅助!闲来辅助神器下载... 第一分钟辅助!闲来辅助神器下载2022,好像真的有辅助方法(有挂教程)1、不需要AI权限,帮助你快速...
九分钟辅助!丽水都莱辅助工具试... 九分钟辅助!丽水都莱辅助工具试用,确实存在有辅助神器(有挂方法)九分钟辅助!丽水都莱辅助工具试用,确...
第一分钟辅助!蛮王辅助器,好像... 第一分钟辅助!蛮王辅助器,好像是有辅助方法(有挂教学)1、首先打开蛮王辅助器辅助器下载最新版本,在蛮...
第六分钟辅助!潮汕汇挂,一贯真... 第六分钟辅助!潮汕汇挂,一贯真的是有辅助插件(有挂辅助)1、这是跨平台的潮汕汇挂轻量版有透视,在线的...
六分钟辅助!微信开心泉州辅助器... 六分钟辅助!微信开心泉州辅助器,一直有辅助器(有挂教学)1、下载好微信开心泉州辅助器透视辅助下载之后...
第3分钟辅助!佛手十三道破解版... 第3分钟辅助!佛手十三道破解版安卓,竟然真的有辅助攻略(有挂存在)1、让任何用户在无需佛手十三道破解...
2分钟辅助!sohoo竞技联盟... 2分钟辅助!sohoo竞技联盟辅助,切实真的有辅助脚本(有挂技术)1.sohoo竞技联盟辅助 选牌创...
第8分钟辅助!心悦手游辅助器,... 第8分钟辅助!心悦手游辅助器,原来真的是有辅助技巧(确实有挂);1、每一步都需要思考,不同水平的挑战...
第十分钟辅助!广东雀神祈福真的... 第十分钟辅助!广东雀神祈福真的有用吗,都是是有辅助技巧(有挂方略)1、下载好广东雀神祈福真的有用吗透...