Express.js – express.raw() 函数

express.raw()是 Express 中内置的中间件功能。它将传入的请求解析到缓冲区中,并且基于正文解析器。此方法返回将所有 JSON 主体解析为缓冲区的中间件,并且仅查看内容类型标头与类型 选项匹配的请求。

语法

express.raw([options])

参数

以下是此方法可用的不同选项

  • 选项 -

    • inflate – 这可以启用或禁用对放气或压缩物体的处理。默认值:真

    • limit – 控制请求正文的最大大小。

    • type – 确定将被解析的中间件的媒体类型。

示例 1

创建一个名为“expressRaw.js”的文件并复制以下代码片段。创建文件后,使用命令“node expressRaw.js”运行此代码。

// express.raw() 演示示例

// 导入 express 模块
var express = require('express');

// 初始化 express 和端口号
var app = express();
var PORT = 3000;

// 使用 express.raw 中间件
app.use(express.raw());

// 阅读内容类型
app.post('/', function (req, res) {
   console.log(req.body)
   res.end();
})

// 监听端口
app.listen(PORT, function(err){
   if (err) console.log(err);
   console.log("Server listening on PORT", PORT);
});

在点击 API 端点之前,设置以下两个属性 -

  • 在标题中将内容类型设置为application/octet-stream

  • 在 POST 请求中传递以下正文- {"name": "nhooo"}

输出结果

C:\home\node>> node expressRaw.js
Server listening on PORT 3000

示例 2

让我们再看一个例子。

// express.raw() 演示示例

// 导入 express 模块
var express = require('express');

// 初始化 express 和端口号
var app = express();
var PORT = 3000;

// 评论 express.raw 中间件

// app.use(express.raw());

// 阅读内容类型
app.post('/', function (req, res) {
   console.log(req.body)
   res.end();
})

// 监听端口
app.listen(PORT, function(err){
   if (err) console.log(err);
   console.log("Server listening on PORT", PORT);
});

在点击 API 端点之前,设置以下两个属性 -

  • 在标题中将内容类型设置为application/octet-stream

  • 在 POST 请求中传递以下正文- {"name": "nhooo"}

输出结果

C:\home\node>> node expressRaw.js
Server listening on PORT 3000
undefined